Ci yi bak!
offensichtlich ein Codierungsproblem, wie EKKi auch schon mutmaßte. Da Fragezeichen angezeigt werden, geht der Browser wohl davon aus, die Daten seien UTF-8 codiert; offensichtlich sind sie es aber nicht. Das Fragezeichen ist das Ersatzzeichen für Codes (Bytefolgen), die in UTF-8 ungültig sind.
Dieses Ersatzzeichen sieht normalerweise aus wie ein weißes Fragezeichen in einem schwarzen Karo (U+FFFD REPLACEMENT CHARACTER), und wenn die verwendete Schriftart ihn nicht hat, sollte ein Kasten erscheinen und kein Fragezeichen.
Das richtige Fragezeichen kenne ich nur vom umgekehrten Fall: Ein Unicode-String wurde in ISO-egal-welches konvertiert, und diejenigen Zeichen, die es da nicht gibt, werden durch Fragezeichen ersetzt. Das ist dann aber auch keine Fehlinterpretation der Bytefolge, sondern ein absichtlicher Fallback.
Beispiel: 丳 (U+4E33)
Bytefolge in UTF-8: E4, B8, B3
Fehlinterpretiert als ISO 8859-1: 丳
Konvertiert in ISO 8859-1: ?
htmlentities helfen mir übrignes nicht weiter, die Methode habe ich bereits getestet.
Nein, weil diese Funktion -wie der Name schon sagt- nur ein paar wenige Codes umwandelt, die in HTML u.U. eine Sonderbedeutung haben. Im Wesentlichen sind das nur "<", ">", "&" und die Anführungszeichen.
Hmm, das macht doch htmlspecialchars(…), oder? htmlentities(…) vergurkt auch die Umlaute, weswegen ich sie nie verwende, macht das aber afaik nur für Zeichen, für die es benamste Entities gibt – bei Japanisch also wirkungslos.
Ein Online-Beipiel, wie Gunnar auch schon fordert, wäre der beste Punkt, an dem man ansetzen könnte. Dann sehen wir weiter.
Full ACK.
Viele Grüße vom Længlich
Mein aktueller Gruß ist:
Dinka (Sudan)