MySQL データベースで Latin1 文字を UTF-8 に正しく変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-03 20:22:29
オリジナル
380 人が閲覧しました

How to Correctly Convert Latin1 Characters to UTF-8 in a MySQL Database?

UTF-8 テーブル内の Latin1 文字を UTF-8 に変換します

エンコーディングの不一致:

PHP と MySQL のエンコード設定間の不整合により、UTF-8 で発音区別記号が正しく保存されない テーブル。新しい挿入は正しくなりましたが、古い行には依然として破損した文字が含まれています。

修正措置:

この問題を修正するには、MySQL の Convert() 関数を利用します。

<code class="sql">convert(cast(convert(name using  latin1) as binary) using utf8)</code>
ログイン後にコピー

この関数は、Latin1 でエンコードされたデータを UTF-8 に変換します。二重変換により、変換プロセス中にデータが切り捨てられなくなります。

使用例:

コード内で、更新クエリ内で変換を適用します:

<code class="sql">mysql_iquery('UPDATE `table` SET `name`="'.mysql_real_escape_string(convert(cast(convert(name using  latin1) as binary) using utf8)).'" WHERE `a1`="'.$row['a1'].'"');</code>
ログイン後にコピー

これにより、テーブル内の名前列が正しく変換された UTF-8 で更新されます。文字。

注:

エンコード変換中のデータ変更によっては、クエリから内部変換関数を省略する必要がある場合があります。両方のシナリオをテストし、望ましい結果が得られる方を採用します。

以上がMySQL データベースで Latin1 文字を UTF-8 に正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!