1

次のような既存のテーブルを変換しています。

CREATE TABLE `example`(`id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
                       `column1` char(32) COLLATE latin1_general_ci NOT NULL 
                           DEFAULT '',   
                       `column2` char(64) COLLATE latin1_general_ci NOT NULL 
                           DEFAULT '',
                       PRIMARY KEY (`id`)) 
              ENGINE=MyISAM AUTO_INCREMENT=1 
              DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

次のコマンドを使用して utf8 にします。

ALTER TABLE example CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

これは問題ないようですが、結果のテーブルには照合情報が含まれていません。

CREATE TABLE `example` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
                        `column1` char(32) NOT NULL DEFAULT '',
                        `column2` char(64) NOT NULL DEFAULT '',
                        PRIMARY KEY (`id`)
                        ) ENGINE=MyISAM DEFAULT CHARSET=utf8

私の質問は、欠落している照合情報が問題になるのでしょうか? 私はグーグルを検索しましたが、これについての言及はどこにも見つかりませんでした。照合フラグの私の理解はかなり基本的です(文字列関数の文字を比較するときに何らかの形で重要だと思いますか?)

ありがとう

4

1 に答える 1

2

文字セットのデフォルトの照合は、であるため、表示されません。utf8utf8_general_ci

于 2009-11-14T11:59:44.757 に答える