wescraven07
Goto Top

PHP UTF8 zu CP 850 konvertieren

Moin Leude,
ich habe ein kleines php-Script geschrieben, dass eine *txt_Datei erstellt.
im Inhalt der zweiten Zeile werden aber Sonderzeichen beim Import in Navision nicht dargestellt.

Wie kann ich den Zeichensatz zu CP 850 OEM konvertieren? Hat jemand eine Idee?

Greetz

Content-ID: 346051

Url: https://administrator.de/forum/php-utf8-zu-cp-850-konvertieren-346051.html

Ausgedruckt am: 26.12.2024 um 05:12 Uhr

sabines
sabines 11.08.2017 um 11:26:19 Uhr
Goto Top
Moin,

chcp 850 eingeben funktioniert nicht?

Gruss
colinardo
colinardo 11.08.2017 aktualisiert um 18:57:28 Uhr
Goto Top
Servus,
http://www.php.net/manual/de/function.iconv.php
$str = iconv("UTF-8","CP850","Das ist ein String mit Sonderzeichen wie ÄöÜÖÖß");  
file_put_contents("test.txt",$str);  
Zitat von @sabines:
chcp 850 eingeben funktioniert nicht?
In PHP?!

Grüße Uwe
wescraven07
wescraven07 08.11.2017 um 08:28:48 Uhr
Goto Top
@ colinardo,
wie binde ich
file_put_contents("test.txt",$str);  

ein? Ich bin noch eher Programmierer Rookie face-wink

gruss
colinardo
colinardo 08.11.2017 aktualisiert um 15:41:03 Uhr
Goto Top
Zitat von @wescraven07:

@ colinardo,
wie binde ich
> file_put_contents("test.txt",$str);  
> 
ein? Ich bin noch eher Programmierer Rookie face-wink
Na, indem du es in deine PHP Datei schreibst, was für eine Frage ...?! Du wollen mich veräppeln face-smile?
Sorry, aber deine Frage ist für mich leider unverständlich.

Grüße Uwe
wescraven07
wescraven07 09.11.2017 aktualisiert um 10:55:11 Uhr
Goto Top
Gut, war saublöd von mir formuliert. Ich meine, wie binde ich es in den codestring in die Syntax ein. Ich habe zusätzlich zu Deinem Vorschlag

$str = iconv("UTF-8","CP850","Das ist ein String mit Sonderzeichen wie ÄöÜÖÖß");   
file_put_contents("test.txt",$str);  

auch nochmal diese Variable gefunden:

$dos = mb_convert_encoding($utf8_text, "CP850", mb_detect_encoding($utf8_text, "UTF-8, CP850, ISO-8859-15", true));  


stehe aber gerade auf dem Schlauch, wie ich das in meine Header-Row-Zeile einbinde:

Mit diesem String wird ein sogenannter Verkaufskopf für Navision geschrieben, oder besser umgeschrieben.
Das heisst in der ersten Zeile der neuen Textdateien stehen Kundeninfos, wie Adresse, Name, Ansprechpartner, die die Sonderzeichen enthlaten, die konvertiert werden müssen. Genauer col 6,7,8,10,11,13,14,15,17.

Also wie muss ich untere Syntax umschreiben die beiden Variablen einzubauen?

  $navHeaderRow = zeichen ($col.$sep.$col[1].$sep.$col[2].$sep.$col[3].$sep.$col[4].$sep.$col[5].$sep.$col[6].$sep.$col[7].$sep.$col[8].$sep.$col[9].$sep.$col[10].$sep.$col[11].$sep.$col[12].$sep.$col[13].$sep.$col[14].$sep.$col[15].$sep.$col[16].$sep.$col[17].$sep.$col[18].$sep.$col[19]);

Wäre toll, wenn Du mich da kurz erleuchten könntest...
colinardo
colinardo 09.11.2017 aktualisiert um 11:12:51 Uhr
Goto Top
Zitat von @wescraven07:

Gut, war saublöd von mir formuliert. Ich meine, wie binde ich es in den codestring in die Syntax ein.
Codestring ?? Leider nicht besser formuliert.
stehe aber gerade auf dem Schlauch, wie ich das in meine Header-Row-Zeile einbinde:
Füge an der Stelle wo bei mir oben ein fester String steht einfach die Variable ein in der dein Text in UTF-8 steht.
Die zweite Zeile schreibt dann diesen konvertierten String der dann in $str steht in eine Textdatei mit dem Namen text.txt im gleichen Verzeichnis wie der PHP-Datei in der der Code steht
$str = iconv("UTF-8","CP850",<deineVariableMitDemUTF8Text>);   
file_put_contents("test.txt",$str);  
Was gibt es daran nicht zu verstehen? Oder stehst du kopf und ließt den Code rückwärts face-smile?
wescraven07
wescraven07 09.11.2017 aktualisiert um 11:42:44 Uhr
Goto Top
ok, dann versuche ich das mal gleich...

Aber wieso ist Codestring nicht besser? Wie nennt man das sonst? Snippet?
colinardo
colinardo 09.11.2017 aktualisiert um 11:49:54 Uhr
Goto Top
Zitat von @wescraven07:
Aber wieso ist Codestring nicht besser? Wie nennt man das sonst? Snippet?

Also in dieser Schreibe kann das alles und nichts bedeuten und ist keine vernünftige eindeutige Beschreibung von dem was du nicht verstehst,sorry.
wie binde ich es in den codestring in die Syntax ein