Mysql 1366 中文顯示錯誤修改方法


轉載地址:http://hi.baidu.com/yiyimoxiang/item/32483a5e1c49d2474fff203e

mysql[ERROR 1366 (HY000):錯誤]中文顯示問題

mysql的字符集用utf8也解決不了中文的編碼問題,用gbk才能解決。所以總結一下如果更改編碼:
停掉mysql服務,修改my.ini文件,修改兩處default-character-set=gbk。啟動mysql服務。再次插入,還是有問題。

用status看了一下:

mysql> status;

原來

Current database:  order_movie_ticket

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    gbk

Conn.  characterset:    gbk

雖然Client characterset和Conn. characterset都改成了gbk, Db characterset的字符集還是utf8,所以仍出現中文亂碼。

所以要把它設回gbk,用alter命令。

mysql> alter database order_movie_ticket character set gbk;

因為只改了order_movie_ticket這一個db,所以直接用status查結果還是Db characterset的字符集為utf8,但是若轉入order_movie_ticket,只看他自己的

mysql> use order_movie_ticket;

再用status看一下,這回對了。再次插入數據,這回正確了。

要注意的是以上改的前提是database order_movie_ticket里是空的,如果它的一些表里已經有數據就不能只改db了,還要用alter命令改相應的table,

如:mysql> alter table movie character set gbk;

可以通過如下命令

mysql> show create table movie; 來看表的create命令形式的結構和表的字符集。

----------------------------------------------------------

movie | create table 'movie' (

'movie_id' bigint(20) not null auto_increment,

'name' varchar(50) not null,

'actor' varchar(100) not null,

'director' varchar(30) not null,

'classification' varchar(30) default null,

'story' varchar(200) default null,

'valid' char(1) not null default 'Y',

primary key ('movie_id')

) ENGINE=InnoDB DEFAULT CHARSET=gbk

------------------------------------------------------------

這樣改應該就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM