2010-11-27 6 views
1

私のウェブサイトにはUTF-8エンコーディングが使用されています。最近、私はMySQLテーブルにchinese/spanish/russianの名前を格納し、UTF-8の文字セットで生成されたページにPHPで印刷しています。ページは正常に動作し、すべての文字が正しく表示されます。しかし、私はテーブルがlatin1_swedish_ci charsetで設定されていることを認識しました。 latin1_swedish_ci charsetでこれらの名前を保存しても、UTF-8で自分のサイトに提供しても正しく表示されるのはどうでしょうか?Latin1_swedish_ci MySQLでのエンコーディング

ありがとうございます!ジョエル

答えて

2

mysqlの接続がまだlatin1を使用しているので、
あなたはこれらのデータを扱うべきではlatin1の環境でUTF-8が、店です。上記、

show variables like '%char%'; 

をそれを証明するので

は、設定のほとんどを返す必要があります

set names utf8; 

を適用し、あなたはすべてUTF-8になる見ることがlatin1の

でありますダブルエンコード(文字化け)

1

スレッドに興味があります: A script to change all tables and fields to the utf-8-bin collation in MYSQL

彼らはあなたがやった同じことを修理する方法をそこに扱っています。

主キーで使用する場合、utf8でエンコードされたvarcharのサイズは3倍であるため、単一の主キー列の最大長はvarchar(333)です。

関連する問題