schön das du es geschafft hast. Wegen dem UTF-8, dass ist nicht gut übersetzt.
Im English gibt es
Encode UTF-8 (das ist ohne Bytereihenfolge-Markierung)
Encode UTF-8-BOM (das mit)
im Deutsch gibt es
UTF-8 ohne BOM
UTF-8
besser wäre gewesen
UTF-8
UTF-8 mit BOM
dann wäre es mit dem English gleich.
Aber was soll das mit der Zeile
editor.replace('iso-8859-1', 'UTF-8')
zu tun haben? Hier wird eine Zeichenkette mit einer anderen ersetzt.
Das hat nichts mit der Kodierung von npp Dokumenten zu tun,
sondern ist eine Anweisung an den Browser das der Text UTF-8 kodiert ist.
Soll das nun heissen, das du folgende Zeile im html Dokument hast
http-equiv="content-type" content="text/html; charset=UTF-8 ohne BOM"
notepad.runMenuCommand("Kodierung", "Konvertiere zu ANSI")
notepad.runMenuCommand("Kodierung", "Konvertiere zu UTF-8 ohne BOM")
editor.replace('iso-8859-1', 'UTF-8')
Gruss André
Last edit: André Lieske 2016-02-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia,
ich habe das Problem das die Sonderzeichen falsch ausgegeben werden.
Wenn ich über meinem Shop eine Bestellung aufgebe, wird die Bestellung
an mich und an den Kunden mit falschen Sonderzeichen ausgegeben.
Die betreffenden Dateien befinden sich in einem Verzeichnis "Broker" auf meinem Server,
diese sind sehr lang um sie hier zu posten.
Wie ich in den Scripten gesehen habe, sind diese teilweise von "sourceforge.net" programmiert worden.
Wenn Du mir helfen könntest würde mich das sehr freuen,
könnte Dir die Zugangsdaten für einen passwortgeschützten Testshop zukommem lassen,
möchte die Daten aber nicht hier posten, kann ich Dich auch per Mail erreichen?
Besten Dank im voraus
Gruss André
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Andre, bei einem konkreten Problem zu helfen ist eine Seite aber das was du wunscht
ist anders. Bei einem Webshop sind wahrscheinlich nicht nur html/php/python Seiten da,
da gibt es bestimmt auch noch database und email oder? Auch diese Komponenten müssen
utf-8 können beziehungsweise in der database muß auch der standard text encoding utf-8 sein.
Das soll heißen, um das alles richtig zu machen muß Zeit genommen werden und alles muß auf
einander abgestimmt sein. Tut mir leid.
Gruß
Claudia
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia,
danke für das Feedback.
Es handelt sich um einen statisches Shopsystem, dieser wird Lokal erstellt
und anschließend per FTP veröffentlicht, es gibt keine Datenbank
Gruss André
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia,
habe den Fehler gefunden,
ich darf die Broker-Dateien durch das Script nicht verändern.
Wie kann ich verhindern das, dass Verzeichnis "broker" geändert wird?
importos;importsys;#################################################################### Pfad zum Stage-Ordner von SmartStore ## Pfad bitte anpassen! ## Die doppelten Backslashes ( \\ ) im Pfad muessen vorhanden sein ####################################################################filePathSrc="C:\\Users\\Andre\\Documents\\SmartStore.biz Projekte\\SM6\\Lieske Andre\\Stage\\"################################ AB HIER NICHTS MEHR AENDERN ################################forroot,dirs,filesinos.walk(filePathSrc):forfninfiles:iffn[-4:]=='.php':notepad.open(root+"\\"+fn)notepad.runMenuCommand("Kodierung","Konvertiere zu ANSI")notepad.runMenuCommand("Kodierung","Konvertiere zu UTF-8 ohne BOM")editor.replace('iso-8859-1','UTF-8')# editor.replace("<!DOCTYPE html>", r"<?php header\('Content-Type: text/html;charset=UTF-8'\);?><!DOCTYPE html>")notepad.save()notepad.close()
Besten Dank im voraus
Gruss André
Last edit: André Lieske 2016-03-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo André,
du kannst root überprüfen. Wenn Dateien in Broker und alle Subverzeichnisse von Broker nicht verändert werden dürfen dann kannst du so was machen
for root, dirs, files in os.walk(filePathSrc):
if root.startswith('BROKER_PATH'):
pass
else:
for fn in files:
...
wenn nur Dateien in Broker verzeichnis nicht verändert werden dürfen, dann
for root, dirs, files in os.walk(filePathSrc):
if root == 'BROKER_PATH':
pass
else:
for fn in files:
...
Gruß
Claudia
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia,
das Script will nicht laufen.
In Broker sind Verzeichnisse vorhanden, also habe ich Version 1 genommen.
Muss ich noch was in "if root" angeben?
Habe es mit vollständigen Pfad und nur "broker" versucht, funktioniert auch nicht.
Besten Dank im voraus
Gruss André
Last edit: André Lieske 2016-03-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia,
eine Fehlermeldung gibt es leider nicht.
importos;importsys;#################################################################### Pfad zum Stage-Ordner von SmartStore ## Pfad bitte anpassen! ## Die doppelten Backslashes ( \\ ) im Pfad muessen vorhanden sein ####################################################################filePathSrc="C:\\Users\\Andre\\Documents\\SmartStore.biz Projekte\\SM6\\Lieske Andre\\Stage\\"################################ AB HIER NICHTS MEHR AENDERN ################################forroot,dirs,filesinos.walk(filePathSrc):ifroot=='C:\Users\Andre\Documents\SmartStore.biz Projekte\SM6\Lieske Andre\Stage\broker':passelse:forfninfiles:iffn[-4:]=='.php':notepad.open(root+"\\"+fn)notepad.runMenuCommand("Kodierung","Konvertiere zu ANSI")notepad.runMenuCommand("Kodierung","Konvertiere zu UTF-8 ohne BOM")editor.replace('iso-8859-1','UTF-8')notepad.save()notepad.close()
Besten Dank im voraus
Gruss André
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo André,
du hast die console nicht geöffnet, dort würde auf jeden Fall eine Fehler erscheinen,
da das else nicht auf der gleichen ebene wie das if steht und if muss eingerückt zu for stehen. IndentError.
forroot,dirs,filesinos.walk(filePathSrc):
ifroot=='C:\Users\Andre\Documents\SmartStore.biz Projekte\SM6\Lieske Andre\Stage\broker':
passelse:
forfninfiles:
iffn[-4:]=='.php':notepad.open(root+"\\"+fn)notepad.runMenuCommand("Kodierung","Konvertiere zu ANSI")notepad.runMenuCommand("Kodierung","Konvertiere zu UTF-8 ohne BOM")editor.replace('iso-8859-1','UTF-8')notepad.save()notepad.close()
Bei dieser Lösung werden die Subverzeichnisse aber nicht ignoriert!!
Nur Dateien im angegeben Verzeichnis werden ignoriert.
Gruß
Claudia
Last edit: CFrank 2016-03-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia,
wie kann ich die Console aktivieren, suche mir einen Wolf.
Simmt, war der falsche Code.
Funtioniert einfach nicht.
forroot,dirs,filesinos.walk(filePathSrc):
ifroot.startswith('C:\Users\Andre\Documents\SmartStore.biz Projekte\SM6\Lieske Andre\Stage\broker'):
passelse:
forfninfiles:
iffn[-4:]=='.php':notepad.open(root+"\\"+fn)notepad.runMenuCommand("Kodierung","Konvertiere zu ANSI")notepad.runMenuCommand("Kodierung","Konvertiere zu UTF-8 ohne BOM")editor.replace('iso-8859-1','UTF-8')notepad.save()notepad.close()
Gruss André
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Plugins->Python Script->Show Console
Wenn du deinen Code mit meinem vergleichst, gibt es wegen dem einrücken immer noch
ein Problem. Du bist nicht André, oder?
Gruß
Claudia
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia,
wie kommst du darauf das ich nicht André bin?
Bin es seit meiner Geburt.
Wäre nich darauf gekommen, das die Position der Zeilen eine Rolle spielt.
Script läuft die Dateien durch, das Verzeichnis einschl. Unterordner werden trotzdem geändert.
Die Fehlermeldung
IndentationError: expected an indented block
File "C:\Users\Andre\AppData\Roaming\Notepad++\plugins\Config\PythonScript\scripts\Convert Stage SHOP.py", line 23
notepad.open(root + "\\" + fn)
^
IndentationError: expected an indented block
Gruss André
Last edit: André Lieske 2016-03-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia,
habe in einem Unterverzeichnis "js" Dateien liegen die auf ".js" enden.
bisher sah der Code so aus;
forroot,dirs,filesinos.walk(filePathSrc):
ifroot.startswith('C:\\Users\\Andre\\Documents\\SmartStore.biz Projekte\\SM6\Lieske Andre\\Stage\\broker'):
passelse:
forfninfiles:
iffn[-4:]=='.php':notepad.open(root+"\\"+fn)notepad.runMenuCommand("Kodierung","Konvertiere zu ANSI")notepad.runMenuCommand("Kodierung","Konvertiere zu UTF-8 ohne BOM")editor.replace('iso-8859-1','UTF-8')notepad.save()notepad.close()iffn[-3:]=='.js':notepad.open(root+"\\"+fn)notepad.runMenuCommand("Kodierung","Konvertiere zu ANSI")notepad.runMenuCommand("Kodierung","Konvertiere zu UTF-8 ohne BOM")notepad.save()notepad.close()
habe es so versucht, die "js" Dateien werden aber nicht geändert.
forroot,dirs,filesinos.walk(filePathSrc):
ifroot.startswith('C:\\Users\\Andre\\Documents\\SmartStore.biz Projekte\\SM6\Lieske Andre\\Stage\\broker'):
passelse:
forfninfiles:
iffn[-4:]=='.php'andfn[-3:]=='.js':notepad.open(root+"\\"+fn)notepad.runMenuCommand("Kodierung","Konvertiere zu ANSI")notepad.runMenuCommand("Kodierung","Konvertiere zu UTF-8 ohne BOM")editor.replace('iso-8859-1','UTF-8')notepad.save()notepad.close()
Wollte damit verhindern das alle Dateien 2X durchlaufen werden.
Besten Dank im voraus
Gruss André
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Claudia.
versteh ich nicht,
if fn[-4:] == '.php' sagt doch aus das alle Dateien mit Endung PHP von ansi in utf kodiert werden sollen,
das gleiche gilt für Dateien mit Endung js
Hab ich das was falsch verstanden?
Besten Dank im voraus
Gruss André
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Übersetzt: Wenn von der Datei die letzte 4 Zeichen gleich .php sind UND
wenn von der Datei die letzte 3 Zeichen .js sind dann führe die anderen Commands aus.
Du willst doch aber sagen:
Wenn von der Datei die letzte 4 Zeichen gleich .php sind ODER
wenn von der Datei die letzte 3 Zeichen .js sind dann führe die anderen Commands aus.
also
iffn[-4:]=='.php'orfn[-3:]=='.js':
Gruß
Claudia
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich habe diese Thread verfolgt, und der herrvoragend Support von Claudia gelesen.
Am 17. Februar, schreibte Claudia:
welcher Fehler kommt?
Öffne die python console (Plugins->PythonScript->Show Console) und gib die
Anweisung direkt ein. Funktioniert das?
Dann, kurz danach schreibte André:
habe ich gemacht, es kommt keine Fehlermeldung
> Python 2.7.6-notepad++ r2 (default, Apr 21 2014, 19:26:54) [MSC v.1600 32 bit (Intel)]
> Initialisation took 47ms
> Ready.
Dann jetzt, plotzlich, von André:
wie kann ich die Console aktivieren, suche mir einen Wolf.
Auch am 17. Feb, von Claudia:
dann vermute ich, das du einen Mix aus Tab und Spaces hast, das ist nicht erlaubt.
Aktiviere "zeige alle Symbole", das umgedrehte P, dann solltest du sehen ob du
Tabs hast. Wenn alles Space ist, dann stimmt nicht ganz die Anzahl z. b. die Zeile
davor hat 8 Spaces die nächste nur 7 oder so.
Und das hat natürlich geklappt. Jetzt plotzlich von André:
Wäre nich darauf gekommen, das die Position der Zeilen eine Rolle spielt.
Ich weiß nicht was geschehen ist, aber hier stimmt was nicht.
Dann lese ich:
iffn[-4:]=='.php'andfn[-3:]=='.js':
Und die Antwort von Claudia, dass das ein or sein soll.
Dann:
hatte es nit "||" versucht, an "or" hatte ich nicht gedacht.
Das klingt wie ein Troll. Ich glaube nicht, dass jemand eine Sprache erwartet, der nutzt and und || (und nicht an or denkt).
Von daher, meine Vermutung ist, dass diese Konto ist jetzt von ein Troll übernommen, und bitten das jetzt aufzuhören.
Falls du kein Troll bist, und doch noch "der ursprünglicher" André bist, dann bitte alle Nachrichten noch mal lesen. Die Support die du hier bekommen hast, ist sehr außergewohnlich, und eigentlich deutlich mehr als man erwarten soll, und du solltest sehr dankbar dafür sein.
Claudia, vielen herzlichen Dank für deine herrvoragend Unterstützung. Diese Community profitiert sehr von deine Kenntnisse, und die Art und Weise wie du alles erklärst. Vielen Dank!
Viele Grüße
Dave
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Andre,
schön das du es geschafft hast. Wegen dem UTF-8, dass ist nicht gut übersetzt.
Im English gibt es
Encode UTF-8 (das ist ohne Bytereihenfolge-Markierung)
Encode UTF-8-BOM (das mit)
im Deutsch gibt es
UTF-8 ohne BOM
UTF-8
besser wäre gewesen
UTF-8
UTF-8 mit BOM
dann wäre es mit dem English gleich.
Aber was soll das mit der Zeile
zu tun haben? Hier wird eine Zeichenkette mit einer anderen ersetzt.
Das hat nichts mit der Kodierung von npp Dokumenten zu tun,
sondern ist eine Anweisung an den Browser das der Text UTF-8 kodiert ist.
Soll das nun heissen, das du folgende Zeile im html Dokument hast
http-equiv="content-type" content="text/html; charset=UTF-8 ohne BOM"
??
Wenn ja, wage ich zu zweifeln das das richtig ist. Dies ist kein von der IANA akzeptiertes
Kürzel. Siehe hier http://www.iana.org/assignments/character-sets/character-sets.xhtml
Wegen der Probleme mit BOM und Webseiten siehe hier https://www.w3.org/International/questions/qa-byte-order-mark#problems (Deutsch ;-)
Gruß
Claudia
Gruß
Claudia
Hallo Claudia,
nein, es steht im Code
Wenn ich "ohne Bom" weglasse, werden die Sonderzeichen falsch ausgegeben.
Gruss André
Hallo Andre,
du meinst hier hast Du ohne BOM eingegeben
und nicht hier
??
Das würde richtig sein wegen der unterschiedlichen Übersetzung.
Gruß
Claudia
Hallo Claudia,
so sieht der Eintrag aus
Gruss André
Last edit: André Lieske 2016-02-24
Hallo Andre,
ja, das macht Sinn.
Gruß
Claudia
Hallo Claudia,
ich habe das Problem das die Sonderzeichen falsch ausgegeben werden.
Wenn ich über meinem Shop eine Bestellung aufgebe, wird die Bestellung
an mich und an den Kunden mit falschen Sonderzeichen ausgegeben.
Die betreffenden Dateien befinden sich in einem Verzeichnis "Broker" auf meinem Server,
diese sind sehr lang um sie hier zu posten.
Wie ich in den Scripten gesehen habe, sind diese teilweise von "sourceforge.net" programmiert worden.
Wenn Du mir helfen könntest würde mich das sehr freuen,
könnte Dir die Zugangsdaten für einen passwortgeschützten Testshop zukommem lassen,
möchte die Daten aber nicht hier posten, kann ich Dich auch per Mail erreichen?
Besten Dank im voraus
Gruss André
Andre, bei einem konkreten Problem zu helfen ist eine Seite aber das was du wunscht
ist anders. Bei einem Webshop sind wahrscheinlich nicht nur html/php/python Seiten da,
da gibt es bestimmt auch noch database und email oder? Auch diese Komponenten müssen
utf-8 können beziehungsweise in der database muß auch der standard text encoding utf-8 sein.
Das soll heißen, um das alles richtig zu machen muß Zeit genommen werden und alles muß auf
einander abgestimmt sein. Tut mir leid.
Gruß
Claudia
Hallo Claudia,
danke für das Feedback.
Es handelt sich um einen statisches Shopsystem, dieser wird Lokal erstellt
und anschließend per FTP veröffentlicht, es gibt keine Datenbank
Gruss André
Hallo Claudia,
habe den Fehler gefunden,
ich darf die Broker-Dateien durch das Script nicht verändern.
Wie kann ich verhindern das, dass Verzeichnis "broker" geändert wird?
Besten Dank im voraus
Gruss André
Last edit: André Lieske 2016-03-12
Hallo André,
du kannst root überprüfen. Wenn Dateien in Broker und alle Subverzeichnisse von Broker nicht verändert werden dürfen dann kannst du so was machen
wenn nur Dateien in Broker verzeichnis nicht verändert werden dürfen, dann
Gruß
Claudia
Hallo Claudia,
das Script will nicht laufen.
In Broker sind Verzeichnisse vorhanden, also habe ich Version 1 genommen.
Muss ich noch was in "if root" angeben?
Habe es mit vollständigen Pfad und nur "broker" versucht, funktioniert auch nicht.
Besten Dank im voraus
Gruss André
Last edit: André Lieske 2016-03-14
Hallo André,
was gibt es für eine Fehlermeldung in der Console?
Wenn Lösung 1, dann muss BROKER_PATH etwas wie
C:\wwwroot\project\broker sein, und dann würden alle Verzeichnisse
die so anfangen ignoriert werden.
Gruß
Claudia
Hallo Claudia,
eine Fehlermeldung gibt es leider nicht.
Besten Dank im voraus
Gruss André
Hallo André,
du hast die console nicht geöffnet, dort würde auf jeden Fall eine Fehler erscheinen,
da das else nicht auf der gleichen ebene wie das if steht und if muss eingerückt zu for stehen. IndentError.
Bei dieser Lösung werden die Subverzeichnisse aber nicht ignoriert!!
Nur Dateien im angegeben Verzeichnis werden ignoriert.
Gruß
Claudia
Last edit: CFrank 2016-03-14
Hallo Claudia,
wie kann ich die Console aktivieren, suche mir einen Wolf.
Simmt, war der falsche Code.
Funtioniert einfach nicht.
Gruss André
Plugins->Python Script->Show Console
Wenn du deinen Code mit meinem vergleichst, gibt es wegen dem einrücken immer noch
ein Problem. Du bist nicht André, oder?
Gruß
Claudia
Hallo Claudia,
wie kommst du darauf das ich nicht André bin?
Bin es seit meiner Geburt.
Wäre nich darauf gekommen, das die Position der Zeilen eine Rolle spielt.
Script läuft die Dateien durch, das Verzeichnis einschl. Unterordner werden trotzdem geändert.
Die Fehlermeldung
Gruss André
Last edit: André Lieske 2016-03-14
Hallo Claudia,
es fehlten die doppelten Backslash im Pfad,
es funktioniert.
Besten Dank
Gruss Andrè
Last edit: André Lieske 2016-03-14
Hallo Claudia,
habe in einem Unterverzeichnis "js" Dateien liegen die auf ".js" enden.
bisher sah der Code so aus;
habe es so versucht, die "js" Dateien werden aber nicht geändert.
Wollte damit verhindern das alle Dateien 2X durchlaufen werden.
Besten Dank im voraus
Gruss André
Hallo André,
guter Gedanke aber kann eine Datei .php UND .js extension haben?
Oder kann eine Datei .php ODER .js haben? ;-)
Gruß
Claudia
Hallo Claudia.
versteh ich nicht,
if fn[-4:] == '.php' sagt doch aus das alle Dateien mit Endung PHP von ansi in utf kodiert werden sollen,
das gleiche gilt für Dateien mit Endung js
Hab ich das was falsch verstanden?
Besten Dank im voraus
Gruss André
Hallo André,
ja, aber was macht die if Frage?
Übersetzt: Wenn von der Datei die letzte 4 Zeichen gleich .php sind UND
wenn von der Datei die letzte 3 Zeichen .js sind dann führe die anderen Commands aus.
Du willst doch aber sagen:
Wenn von der Datei die letzte 4 Zeichen gleich .php sind ODER
wenn von der Datei die letzte 3 Zeichen .js sind dann führe die anderen Commands aus.
also
Gruß
Claudia
Hallo Claudia,
hatte es nit "||" versucht, an "or" hatte ich nicht gedacht.
Kann ich das Script auch serverseitig über NppFTP ausführen lassen?
Wo kann ich im Forum einstellen, das ich bei einem neuen Posting per Mail benachrichtigt werde?
Besten Dank im voarus
Gruss André
Ps. Wie bist du darauf gekommen, das ich nicht der bin für den ich mich ausgebe?
Ich glaube ich muss hier eingreifen.
Ich habe diese Thread verfolgt, und der herrvoragend Support von Claudia gelesen.
Am 17. Februar, schreibte Claudia:
Dann, kurz danach schreibte André:
Dann jetzt, plotzlich, von André:
Auch am 17. Feb, von Claudia:
Und das hat natürlich geklappt. Jetzt plotzlich von André:
Ich weiß nicht was geschehen ist, aber hier stimmt was nicht.
Dann lese ich:
Und die Antwort von Claudia, dass das ein
orsein soll.Dann:
Das klingt wie ein Troll. Ich glaube nicht, dass jemand eine Sprache erwartet, der nutzt
andund||(und nicht anordenkt).Von daher, meine Vermutung ist, dass diese Konto ist jetzt von ein Troll übernommen, und bitten das jetzt aufzuhören.
Falls du kein Troll bist, und doch noch "der ursprünglicher" André bist, dann bitte alle Nachrichten noch mal lesen. Die Support die du hier bekommen hast, ist sehr außergewohnlich, und eigentlich deutlich mehr als man erwarten soll, und du solltest sehr dankbar dafür sein.
Claudia, vielen herzlichen Dank für deine herrvoragend Unterstützung. Diese Community profitiert sehr von deine Kenntnisse, und die Art und Weise wie du alles erklärst. Vielen Dank!
Viele Grüße
Dave
Hi Dave,
thank you for your kind words. Supporting your plugin is the minimum I can do as
it is a big help for my daily work.
Thank you
Claudia