最新消息: 新版網站上線了!!!

Mysql關聯兩張表時,產生錯誤提示Illegal mix of collations

Mysql關聯兩張表時,產生錯誤提示Illegal mix of collations

1、先用工具把數據庫、兩張表的編碼方式改變

2、這步很重要,需要改變字段的編碼方式。

ALTER TABLE `表名` CHANGE `dev_chancode` `字段` VARCHAR(32) CHARACTER SET gbk NOT NULL;

總結:在建表時一定注意統一的編碼方式,后續搞來搞去超級麻煩。

如何解決MySQL表編碼轉換問題

  1. 將待導出的數據表的表結構導出(可以用Phpmyadmin、mysqldump等,很簡單就不說了),然后將導出的create table語句的CHARSET=latin1改為CHARSET=utf8,在目標庫newdbname中執行該create table語句把表結構建好,接下來開始導出-導入數據。命令:

  2. ./mysqldump -d DB_Dig > /usr/local/tmp/tables.sql

  3. 命令行:進入mysql命令行下,mysql -hlocalhost -uroot -p*** dbname

  4. 執行SQL select * from tbname into outfile '/usr/local/tbname.sql';

  5. 將tbname.sql轉碼為utf-8格式,建議使用UltraEditor,可以直接使用該編輯器的'轉換->ASCII到UTF-8(Unicode編輯)',或者將文件另存為UTF-8(無BOM)格式

  6. 在mysql命令行下執行語句 set character_set_database=utf8; 注:設置mysql的環境變量,這樣mysql在下一步讀取sql文件時將以utf8的形式去解釋該文件內容

  7. 在mysql命令行下執行語句 load data infile 'tbname.sql' into table newdbname.tbname;


.....

轉載請注明:谷谷點程序 » Mysql關聯兩張表時,產生錯誤提示Illegal mix of collations

体彩25选5开奖号码