UTF8 テーブル内の Latin1 文字を UTF8 に変換する
発音記号付きの文字 (例: "Jáuò Iñe") が発生するという問題が発生しました。 ) が欠落しているため、UTF8 テーブルに誤って格納されました。 「mysql_set_charset('utf8')」呼び出し。
これを解決するには、「mb_convert_encoding」と「iconv」を使用して影響を受ける行を変換しようとしています。ただし、これらのメソッドは、最初の「不正な」文字 (この例では「ă」として表されています) を超える文字をキャプチャできません。
データを修正するための推奨されるアプローチは、MySQL 関数を使用することです。
convert(cast(convert(name using latin1) as binary) using utf8)
説明:
場合によっては、データが UTF-8 への変換に適したバイナリ形式ですでに格納されている可能性があるため、内部変換が必要ない場合があります。両方のオプションをテストすると、状況に応じた正しいアプローチが決定されるはずです。
以上がUTF8 MySQL テーブル内の Latin1 文字を UTF8 に正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。