ホームページ >バックエンド開発 >PHPチュートリアル >PHP で Unicode エスケープ シーケンスを UTF-8 文字に変換する方法

PHP で Unicode エスケープ シーケンスを UTF-8 文字に変換する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-15 19:57:14780ブラウズ

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

PHP での UTF-8 文字への Unicode エスケープ シーケンス

この質問は、「u00ed」のような Unicode エスケープ シーケンスをデコードするための解決策を提供します。 PHP の対応する UTF-8 エンコード文字。ユーザーは、同様の質問を見つけても満足のいく結果が得られなかったと述べています。

これに対処するために、回答では 2 つの preg_replace_callback 関数が提供されています。最初の関数は、UCS-2BE に基づいて Unicode エスケープ シーケンスを処理します。

$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);

C/C /Java/Json など、Unicode エスケープ シーケンスが UTF-16BE に基づいている場合、2 番目の関数は次のようになります。使用:

$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);

これらの関数を利用すると、Unicode エスケープ シーケンスを対応する UTF-8 エンコードに正常にデコードできます。文字。

以上がPHP で Unicode エスケープ シーケンスを UTF-8 文字に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。