Heim >Backend-Entwicklung >PHP-Tutorial >Wie konvertiere ich Unicode-Escape-Sequenzen in UTF-8-Zeichen in PHP?

Wie konvertiere ich Unicode-Escape-Sequenzen in UTF-8-Zeichen in PHP?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-15 19:57:14780Durchsuche

How to Convert Unicode Escape Sequences to UTF-8 Characters in PHP?

Unicode-Escape-Sequenzen zu UTF-8-Zeichen in PHP

Diese Frage bietet eine Lösung für die Dekodierung von Unicode-Escape-Sequenzen wie „u00ed“ in ihre entsprechende UTF-8-kodierte Zeichen in PHP. Der Benutzer erwähnt, dass die Suche nach ähnlichen Fragen keine zufriedenstellenden Ergebnisse erbracht hat.

Um dieses Problem zu beheben, bietet die Antwort zwei preg_replace_callback-Funktionen. Die erste Funktion verarbeitet Unicode-Escape-Sequenzen basierend auf UCS-2BE:

$str = preg_replace_callback('/\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}, $str);

Wenn die Unicode-Escape-Sequenzen auf UTF-16BE basieren, wie z. B. in C/C /Java/Json, kann die zweite Funktion sein verwendet:

$str = preg_replace_callback('/\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE');
}, $str);

Durch die Verwendung dieser Funktionen können die Unicode-Escape-Sequenzen erfolgreich in ihre entsprechende UTF-8-Kodierung dekodiert werden Zeichen.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Unicode-Escape-Sequenzen in UTF-8-Zeichen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:JSON für BiggnersNächster Artikel:JSON für Biggners