
mysql的默认编码方式和代码的编码方式不一致,而引起显示问号。
解决办法:
1、打开Eclipse;
2、打开J2EE项目;
3、可以看到代码的中文编码方式不是utf8(例如是gbk),mysql的默认编码为utf8。由于两者不一致,所以在将字符插入数据库时就出现了问题;
4、所以此时只需要将代码的编码方式改为utf8即可解决。
关于乱码的原因不好一下说出,给出以下办法,尝试排除法来解决一下看看:解决MySql数据乱码:
1 写过滤器设置编码格式(格式和JSP页面的编码一样),或则在请求里面写request.setCharacterEncoding("编码方式")
2 如果是查询出数据乱码,在链接的URL上加上编码格式(你这里加了,没问题)
3 修改my.ini文件里面的 default-character-set= 您要的编码格式 (一共有两处,你查找一下 改为一样的编码格式)
4 如果是写入到数据库之后是乱码(前提是已经写了过滤器处理编码),修改my.ini文件里面查找sql-mode 设置 sql-mode ="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
如果出现乱码情况 就试试吧!
AUTO_INCREMENT=11 这个意思就是ID或是指定的列从11开始自增...比如你添加第一条记录,则变成12,以此类推......
解决方案:在代码里,在执行select语句之前,加上
mysql_query("set names 'utf8'")
注意,mysql数据库也要设置utf8,浏览器显示和文件类型都设置为utf-8
设置utf8原因:
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)