向mysql表中添加中文字符变成 ?
解决方案:
一:遇到这种问题肯定是字符集造成的,先检查数据库,表的字符集,都是utf8;
然后看页面,程序等等等等都是utf8都没问题,然后将连接字符串改为jdbc:mysql://xxxxx:3306/dbname?useUnicode=true&characterEncoding=utf-8解决问题了。
如果你的连接串是在xml文件中,请将&改为&客户端连接的时候默认似乎是GBK的,所以指定为utf8.
二:检查表属性;
将数据库的表属性都设置成utf-8;
3:用show variables like 'character%'查看mysql的字符编码;
如果其中有编码格式不是utf8的,除character_set_filesystem和character_sets_dir,将其它的改为utf8就可以了 ,
修改方式:通过sql语句;
通过MySQL命令行修改:
mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
mysql> set character_set_database=utf8;
mysql> set character_set_results=utf8;
mysql> set character_set_server=utf8;
mysql> set character_set_system=utf8;
mysql> set collation_connection=utf8;
mysql> set collation_database=utf8;
mysql> set collation_server=utf8;
通过修改配置文件:
文件默认位置:C:\Program Files\MySQL\MySQL Server 5.5\my.ini
最后修改完毕重启服务:
运行cmd;
停止服务:net stop mysql;
开启服务:net start mysql;