php preg_replace € - Zeichen mit "euro"

Ich würde gerne ersetzen die € - Zeichen in $XML_COMMENT mit "Euro" vor dem hinzufügen einer xml-Datei.

Dem € - Zeichen nicht als utf-8-Zeichen, die ich bekomme und die Fehlermeldung von simplexml

Warning: SimpleXMLElement::addAttribute(): string is not in UTF-8 in ...
Warning: SimpleXMLElement::asXML(): output conversion failed due to conv error, bytes 0x82 0x26 0x61 0x6D in ....

Das euro-Zeichen erscheint in der MySQL (utf-8) Datenbank 'â‚

Aber korrekt in das textarea-Komponente auf der Webseite.

Ich habe versucht, diese verschiedenen str_replace

$XML_COMMENT=str_replace('€','euros',$XML_COMMENT)
$XML_COMMENT=str_replace('€','euros',$XML_COMMENT)
$XML_COMMENT=str_replace(chr(128),'euros',$XML_COMMENT)
$XML_COMMENT=str_replace(chr(0xE2).chr(0×82).chr(0xAC),'euros',$XML_COMMENT)
$XML_COMMENT=str_replace(chr(0x82).chr(0x26).chr(0x61).chr(0x6D),'euros',$XML_COMMENT)

ohne Erfolg

FYI: ich bin mit utf-8 überall (MySQL, Web-Seiten und XML)

Hier ist mein code

//? : $XML_COMMENT= "bla bla bla € bla bla bla";
//? : $XML_COMMENT= "bla bla bla € bla bla bla";
//expected : $XML_COMMENT= "bla bla bla euros bla bla bla";

$ProductLog_XML = simplexml_load_file($file);
$ProductUpdate = $ProductLog_XML->order->product->addChild('update');
$ProductUpdate->addAttribute('comment',$XML_COMMENT);
$fp=fopen(file, "w");
fwrite($fp, $ProductLog_XML->asXML());
fclose($fp);

Gibt es irgendeine alternative mit regex /preg_replace ?

  • I'm using utf-8 everywhere. Nein bist du nicht. Die meisten wahrscheinlich, dass dein editor falsch konfiguriert und verwendet eine andere Codierung.
  • ich habe es mit utf-8 ja, es dosent Arbeit mit utf-8-Codierung, wo, als, wenn ich entfernt den meta-tag angegeben meine charset-es funktioniert!!!!! ---- Nicht verstehen 🙁 was Los ist, welche Art von Charakter ist es?
  • was macht Sie sagen, dass? Ich glaube nicht, dass der editor hat nichts mit meinem problem zu tun, da $XML_COMMENT kommt aus einer utf-8 MySQL-Tabelle, gespeist von einer utf-8 Webseite.
  • Die Fehlermeldung ist string is not in UTF-8. Also, ich denke, es ist eine sichere Annahme, dass eine Zeichenkette nicht in UTF-8.
InformationsquelleAutor baptme | 2012-06-08
Schreibe einen Kommentar