mySqlテーブルでは、Latin1文字セットを使用してvarcharフィールドにテキストを格納しています。現在、当社のWebサイトはより多くの国でサポートされているため、代わりにUTF8のサポートが必要です。代わりにこれらのフィールドをUTF8に変更するとどうなりますか?これを行うのは安全ですか、それともこれらのフィールド内のデータを台無しにしますか?フィールドをUTF8に変更するときに考慮する必要があることですか?
ありがとう!
mySqlテーブルでは、Latin1文字セットを使用してvarcharフィールドにテキストを格納しています。現在、当社のWebサイトはより多くの国でサポートされているため、代わりにUTF8のサポートが必要です。代わりにこれらのフィールドをUTF8に変更するとどうなりますか?これを行うのは安全ですか、それともこれらのフィールド内のデータを台無しにしますか?フィールドをUTF8に変更するときに考慮する必要があることですか?
ありがとう!
MySQLはこれをうまく処理します:
CREATE TEMPORARY TABLE t1 (
c VARCHAR(10)
) CHARACTER SET ="latin1";
INSERT INTO t1 VALUES ("æøå");
SELECT * FROM t1; # 'æøå'
ALTER TABLE t1 CHARACTER SET = "utf8";
SELECT * FROM t1; # 'æøå'
DROP TEMPORARY TABLE t1;
編集:そして、utf-8として保存できないlatin-1文字はないので、データ損失を取得するべきではありません
データベースの面では問題はないはずです。MySQLは、変更を加えた時点で、エンコーディング間のデータの変換を処理します。
WebサイトにUTF-8のサポートを追加するときは、他にも注意する必要があることがあります。
SET NAMES utf8
。