ホームページ > データベース > mysql チュートリアル > UTF-8 データベース テーブル内の Latin1 文字を UTF-8 に変換するにはどうすればよいですか?

UTF-8 データベース テーブル内の Latin1 文字を UTF-8 に変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-02 21:40:12
オリジナル
655 人が閲覧しました

How Can I Convert Latin1 Characters to UTF-8 in a UTF-8 Database Table?

UTF8 テーブル内の Latin1 文字を UTF8 に変換する

あなたの質問は、誤った文字セットにより、以前に挿入された発音区別符号を含むデータが破損した問題について説明しています。

問題:

PHP スクリプトでデータベース通信に UTF-8 文字セットが指定されていないため、Latin1 文字が UTF-8 テーブルに格納されます。この結果、文字が "Ã" シーケンスとして誤って表示されました。

解決策:

解決策は、convert() と呼ばれる MySQL 関数を使用して明示的にキャストすることです。データを Latin1 エンコーディングから UTF-8 に変換します。以下にクエリの例を示します:

UPDATE `table` SET `name` = convert(cast(convert(`name` using latin1) as binary) using utf8)
ログイン後にコピー

説明:

  • convert() 関数は、まず、latin1 コンバーターを使用して、現在の名前列の値を Latin1 エンコーディングにキャストします。 .
  • 結果のバイナリ文字列は、バイナリを使用して文字列にキャストバックされます。
  • 最後に、文字列は utf8 コンバータを使用して UTF-8 に変換されます。

この変換プロセスにより、破損した Latin1 文字が正しく UTF-8 に変換され、文字列が保持されます。発音記号の正しい表示。特定のデータ破損に応じて、convert() 関数を使用した内部変換が常に必要なわけではないことに注意してください。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート