Wie konvertiere ich „u00e9' in utf8-Zeichen in MySQL oder PHP?
P粉704196697
2023-08-24 20:34:18
<p>Ich führe eine Datenbereinigung für einige unordentliche Daten durch, die ich in MySQL importiere. </p>
<p>Die Daten enthalten „Pseudo“-Unicode-Zeichen, die tatsächlich in die Zeichenfolge eingebettet sind, wie zum Beispiel „u00e9“ usw. </p>
<p>Ein Feld könnte also sein.."Jalostotitlu00e1n"
Ich muss dieses umständliche „u00e1n“ abreißen und durch das entsprechende UTF-Zeichen</p> ersetzen.
<p>Ich könnte dies in MySQL tun, vielleicht mit Teilzeichenfolgen und CHR, aber ich verarbeite die Daten über PHP vor, sodass ich es auch dort tun kann. </p>
<p>Ich weiß bereits, wie man MySQL und PHP für die Verwendung von UTF-Daten konfiguriert. Das Problem liegt tatsächlich in den Quelldaten, die ich importiert habe. </p>
<p>Vielen Dank</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)