mysql数据库为utf8字符集,如何实现命令行插入的中文不乱码呢?
我的数据库端,一定是utf8字符集,因为我通过
show create table 表名 这条命令查看过了,没问题,
但是我在命令行中插入中文字符。总是乱码。我反复试,发现在录入字符前,先运行
set names gbk;
然后就不会出现乱码了。但是这不是我的目的,我想实现,打开命令行,直接插入中文字符,就不是乱码,如何实现呢?
难道命令行不能支持 utf-8 吗?服务器端是utf8,但是为何在命令行设置 gbk ,反而不会出现乱码呢?
我的数据库端,一定是utf8字符集,因为我通过
show create table 表名 这条命令查看过了,没问题,
但是我在命令行中插入中文字符。总是乱码。我反复试,发现在录入字符前,先运行
set names gbk;
然后就不会出现乱码了。但是这不是我的目的,我想实现,打开命令行,直接插入中文字符,就不是乱码,如何实现呢?
难道命令行不能支持 utf-8 吗?服务器端是utf8,但是为何在命令行设置 gbk ,反而不会出现乱码呢?
所以,当你使用gbk时,可以进行转换,存储没有问题。你想在utf8的客户端字符下不出现乱码,在xp下,可能得通过一个utf8编码的sql文件才行。因为windows下,似乎不直接支持命令行终端下的utf8编码的显示。要想试这个,可以到ubuntu8或以上版本里头可以一试
set names utf8
然后插入,再select查询,得到的不会是乱码。