如何在 mysql 或 php 中將 'u00e9' 轉換為 utf8 字元?
P粉704196697
2023-08-24 20:34:18
<p>我正在對一些正在導入 mysql 的混亂資料進行資料清理。 </p>
<p>資料包含「偽」unicode 字符,這些字符實際上嵌入到字串中,如「u00e9」等。 </p>
<p>所以一個欄位可能是..“Jalostotitlu00e1n”
我需要撕掉那個笨拙的'u00e1n'並將其替換為相應的utf字符</p>
<p>我可以在 mysql 中執行此操作,也許使用子字串和 CHR,但我透過 PHP 預處理數據,所以我也可以在那裡執行此操作。 </p>
<p>我已經知道如何配置 mysql 和 php 以使用 utf 資料。問題實際上出在我導入的來源資料中。 </p>
<p>謝謝</p>
/* php 將 utf8 html 轉換為 ansi 的函數 */
有一個辦法。將所有
#uXXXX
替換為其 HTML 表示形式,並執行html_entity_decode()
即
echo html_entity_decode("Jalostotitlán");
u1234
形式的每個 UTF 字元都可以在 HTML 中列印為ሴ
。但是進行替換非常困難,因為如果沒有其他字元來標識 UTF 序列的開頭,則可能會出現很多誤報。一個簡單的正規表示式可能是
#preg_replace('/u([\da-fA-F]{4})/', '\1;', $str)