Mysql插入中文变为全问号???的问题 解决方法
解决mysql插入中文变成问号?的问题程序执行插入语句问题:数据库中的记录,出现中文变成问号 .当通过程序或者mysql客户端插入数据的时候出现中文变成??这种类似的乱码时,多半是由于数据库编码的问题解决办法:1.查看数据库的编码是否为utf-8,如果不是,则将数据库的编码改成utf-8create database '数据库名' default character set utf8 collat
·
解决mysql插入中文变成问号?的问题
程序执行插入语句
问题:数据库中的记录,出现中文变成问号 .
当通过程序或者mysql客户端插入数据的时候出现中文变成??这种类似的乱码时,多半是由于数据库编码的问题
解决办法:
1.查看数据库的编码是否为utf-8,如果不是,则将数据库的编码改成utf-8
create database '数据库名' default character set utf8 collate utf8_general_ci;
2.建立表的时候也要指定其字符集,例如
CREATE TABLE `role` (
`id` INT(11) NOT NULL COMMENT '编号',
`role_name` VARCHAR(30) DEFAULT NULL COMMENT '角色名称',
`role_desc` VARCHAR(60) DEFAULT NULL COMMENT '角色描述',
PRIMARY KEY (`ID`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
3.如果以上条件都满足了,都还是会出现插入中文变问号的情况,那么需要查看字符设置
进入cmd,登录mysql,查看数据库的字符情况,然后输入show variables like 'char%';
问题:字符设置不正确
character_set_database和character_set_server的value为latinl
如果要让中文能够插入,则需要显示的这些value都是gbk或utf8
修改mysql的配置文件
找到mysql安装的路径,修改my.ini文件,添加一下内容:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
collation-server=utf8_general_ci
以下是我的my.ini配置内容
打开服务,找到mysql服务,重启服务,则配置会生效
再次打开cmd,进入mysql,查看字符设置是否改变
再次执行程序或者mysql语句,发现中文变问号的问题解决了
更多推荐
已为社区贡献1条内容
所有评论(0)