mysqlまたはphpで「u00e9」をutf8文字に変換するにはどうすればよいですか?
P粉704196697
2023-08-24 20:34:18
<p>mysql にインポートしている乱雑なデータのデータ クリーニングを行っています。 </p>
<p>データには、「u00e9」など、実際に文字列に埋め込まれている「疑似」Unicode 文字が含まれています。 </p>
<p>フィールドは次のようになります。「Jalostotitlu00e1n」
この厄介な「u00e1n」を削除し、対応する utf 文字</p> に置き換える必要があります。
<p>おそらく部分文字列と CHR を使用して、mysql でこれを行うこともできますが、PHP 経由でデータを前処理しているので、そこでも行うことができます。 </p>
<p>utf データを使用するように mysql と php を設定する方法はすでに知っています。実際、問題はインポートしたソース データにあります。 </p>
<p>ありがとうございます</p>
/* utf8 htmlをansiに変換するphp関数 */
リーリー###やり方がある。すべての
uXXXX
つまりを HTML 表現に置き換え、
html_entity_decode()を実行します。
echo html_entity_decode("Jalostotitlán");
形式
u1234
のすべての UTF 文字は、HTML では
ሴとして出力できます。ただし、UTF シーケンスの先頭を識別する文字が他にない場合、誤検知が大量に発生する可能性があるため、置換を行うことは非常に困難です。単純な正規表現は
のようになります。preg_replace('/u([\da-fA-F]{4})/', '\1;', $str)