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-Key: 346051

Url: https://administrator.de/contentid/346051

Printed on: April 23, 2024 at 14:04 o'clock

Member: sabines
sabines Aug 11, 2017 at 09:26:19 (UTC)
Goto Top
Moin,

chcp 850 eingeben funktioniert nicht?

Gruss
Member: colinardo
colinardo Aug 11, 2017 updated at 16:57:28 (UTC)
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
Member: wescraven07
wescraven07 Nov 08, 2017 at 07:28:48 (UTC)
Goto Top
@ colinardo,
wie binde ich
file_put_contents("test.txt",$str);  

ein? Ich bin noch eher Programmierer Rookie face-wink

gruss
Member: colinardo
colinardo Nov 08, 2017 updated at 14:41:03 (UTC)
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
Member: wescraven07
wescraven07 Nov 09, 2017 updated at 09:55:11 (UTC)
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...
Member: colinardo
colinardo Nov 09, 2017 updated at 10:12:51 (UTC)
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?
Member: wescraven07
wescraven07 Nov 09, 2017 updated at 10:42:44 (UTC)
Goto Top
ok, dann versuche ich das mal gleich...

Aber wieso ist Codestring nicht besser? Wie nennt man das sonst? Snippet?
Member: colinardo
colinardo Nov 09, 2017 updated at 10:49:54 (UTC)
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