在my.ini中把character_set_server修改為latin1,
然後使用Workbench連接配接到MySQL,
set names latin1;
set names latin1的效果等同于同時設定:
set character_set_client=’latin1’;
set character_set_connection=’latin1’;
set character_set_results=’latin1’;
show variables like ‘%character_set_%’
insert into dept_test values(20,’測試’)
select * from dept_test
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yM2YDM1MmY1cjYmlzNkVTM2MGMklDM2gTO1EjM4ETNx8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
以上插入和查詢都沒有問題,也就是client、connection、database、server設定成相同的字元集就OK了,latin1字元集也可以插入中文。
我把workbench關掉,再重新打開查詢中文果然亂碼
use test;
select * from dept_test;
在伺服器上果然顯示中文了。
伺服器上character_set_server和character_set_database都是latin1,而character_set_client、character_set_connection、character_set_results都是utf8。
我使用Workbench連接配接伺服器MySQL,然後set names latin1,再查詢内容帶有中文的表,就沒有出現亂碼。