中文数据问题实质是字符集问题。
计算机只识别二进制,而我们人是识别符号,需要有个桥梁连接二进制与符号,这就是字符集。
如下代码:
Insert into my_Database values('你好');
你会发现客户端向服务器插入中文字符是不成功的,这是因为服务器默认的字符集是utf8,而中文字符集是gbk;
查看所有字符集:
语法:show character set;
你其实可以发现数据库服务器支持很多字符集,只是默认的字符集是utf8,所以我们需要改一下
解决方案:改变服务器默认的接收字符集方式:
set charater_set_client = gbk;
这样的话,服务器就可以识别了,但是返回的,还是utf8格式,因此还需要修改返回也是可以gbk的,
解决方案如下:
set character_set_results = gbk;
这样就解决了
最快捷的方式是:
set names gbk;