PHP 中的UTF-8 字元的Unicode 轉義序列
這個問題提供了一種將Unicode 轉義序列(如“ u00ed”)解碼為它們的解PHP 中對應的UTF-8 編碼字元。該用戶提到找到類似的問題並沒有得到滿意的結果。
為了解決這個問題,答案提供了兩個 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);
如果Unicode 轉義序列是基於UTF-16BE,例如在C/C /Java/Json 中,則第二個函數可以是使用:
$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中文網其他相關文章!