Wie Batch Datei kodieren für Umlaute?
hawkmaster
- php
0 LSpreee
Hallo zusammen,
ich drehe mich im Kreis und komme nicht weiter. Daher hoffe ich ob hier jemand einen Tipp hat.
Folgende Ausganssitutation:
Windows 7 PC, XAMPP, Webanwendung in UTF-8 (alle Seiten)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ich möchte mit PHP Ghostscript aufrufen um PDF in JPG umzuwandeln. Funktioniert auch wunderbar bis,,,,,, tja die doofen Umlaute.
Es gibt z.b. eine Datei "Qualiät.pdf". Diese Datei liegt in einem bestimmten Verzeichnis.
In einem Script erstelle ich eine Batch Datei "gs.bat"
$file_name = $_GET['file'];
$file_name = rawurldecode($file_name);
$file_name = utf8_decode($file_name);
$inistring = "\"$gsdir" ."gswin32c\" -Igs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r72 -sOutputFile=$userview/view%%d.jpg " . "\"". $userupload."/".$file_name."\"";
$ini_file = "gs.bat";
$fp = fopen($ini_file, "w");
fwrite($fp, $inistring);
Wenn ich mir die Batch Datei gs.bat anschaue steht die Datei mit ä drin, also "Qualität.pdf"
Wenn ich die Datei in der DOS Kommandozeile ausführe funktioniert die Umwandlung in JPG. Das Dosfenster zeigt das ä aber mit õ an. Vom PHP Script aus aber kommt die Fehlermeldung:
...D:/Work/Directories/Watch/1/Qualit�t.ps
...
no such file or direcotry.
Irgendwie blicke ich nicht mehr durch wie ich was codieren muss.
Hat jemand einen Vorschlag.
vielen Dank und viele Grüße
hawk
Irgendwie blicke ich nicht mehr durch wie ich was codieren muss.
Hat jemand einen Vorschlag.
Ich nehme an, Du musst die Codepage der Konsole ändern, da
Wenn ich mir die Batch Datei gs.bat anschaue steht die Datei mit ä drin, also "Qualität.pdf"
Ein Ansatz wäre dort der Befehl "chcp" (kurz für Change Codepage). Muss mit in die gs.bat.
Der Link bezieht sich auf ein ähnliches Problem.
Liebe Grüße,
LSpreee