我们在linux里面 ,命令行查询数据库的时候,可能会遇到查询出来的中文是问号,如下图:
这种情况一般是字符集编码的问题。
show variables like 'character_set_%';
这个时候发现results的编码不是utf-8,client 也不是,connection也不是。
我们一个个修改
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
1. set character_set_client=utf8; 实验他,发现设置了没有用,还是?。
2. set character_set_connection=utf8;一样不行。
3.set character_set_results=utf8;这个有效。
所以得出结论是,编码有问题,设置一下就好了。当然这里设置的只是当时生效,如果想要永久生效,需要在mysql的配置文件里面作修改,并重启!当然有时候临时去服务器查询一下,就可以这样在命令行里面设置。