MySQL編碼與建表時編碼不一樣的解決方法

2021-04-19 03:58:18 字數 887 閱讀 5145

首先,我們來看一下錯誤的具體示例:

illegal mix of collations (gbk_chinese_ci,implicit)

and (gbk_bin,implicit) for operation '=',

sql state: hy000, error code: 1267 

原因:

資料庫的編碼與建表時的編碼不一樣;

處理方法:

如果安裝mysql時設定的編碼為jbk,那麼建表時可以用下面的方法處理:

一create table `teachers` (

id` int(11) not null default '0',

name` varchar(20) default null,

password` varchar(20) default null,

department_id` int(11) default null,

primary key (`id`)

) engine=myisam default charset=gbk;

二create table `teachers` (

id` int(11) not null default '0',

name` varchar(20) default null,

password` varchar(20) default null,

department_id` int(11) default null,

primary key (`id`)

)default charset utf8 collate utf8_general_ci;

執行sql檔案

source /home/jack/aa.sql

mysql表統一編碼 MySQL統一編碼

主要是解決中文亂碼的問題,下面的命令是統一成gb2312的 要用gbk的話將gb2312換成gbk就行了 進入命令列模式,如果mysql資料庫已經安裝好,可以使用下列sql命令檢視mysql當前的字符集設定 mysql show variables like character set variab...

mysql 修改表的編碼 Mysql表編碼檢視修改

1.建立庫時指定編碼 create database testdb default charset gbk 2.修改庫的編碼 alter database testtable default character set utf8 collate utf8 bin 3.修改表的編碼 alter tab...

建庫和建表中編碼問題

utf8 genera ci不區分大小寫,ci為case insensitive的縮寫,即大小寫不敏感。utf8 bin將字串中的每乙個字元用二進位制資料儲存,區分大小寫。例如 select from table where txt a 那麼在utf8 bin中你就找不到 txt a 的那一行,而 ...