数据库中乱码出现的可能原因,个人遇到情况的总结

在遇到乱码的时候,千万别慌了手脚,引用马士兵老师的一句话:先在战略上藐视对方一下。遇到乱码,可能是以前文件设置或者在储存的时候出现了问题,可检查:
1,my.ini文件中default-character-set=?是否正确。
2,在hibernate的配置文件中
:<property name="connection.url">
			jdbc:mysql://127.0.0.1:3306/XXXX?useUnicode=true&amp;characterEncoding=UTF-8
		</property>
后面的编码有否设置,或者检查是否正确
3,在jsp界面中设置编码是否正确:
:<property name="connection.url">
			jdbc:mysql://127.0.0.1:3306/dangdang2?useUnicode=true&amp;characterEncoding=UTF-8
		</property>

4,在存进数据库前检查字符时自己的想要的字符,而不是乱码,如果是乱码,可以处理一下再储存进数据库:
byte[] fullAddressbytes = address.getFullAddress().getBytes("iso-8859-1");
			byte[] receiveName =address.getReceiveName().getBytes("iso-8859-1");
			address.setFullAddress(new String(fullAddressbytes,"utf-8"));
			address.setReceiveName(new String(receiveName,"utf-8"));

5,用:SHOW VARIABLES LIKE 'character_set_%';命令检查编码是否正确。
6,导入数据库脚本文件时注意脚本文件的编码,在执行之前set name XXX一下,导入之后查询看是否是自己要的字符。
暂时这些了,后续更新!

你可能感兴趣的:(mysql,Hibernate,jsp,jdbc,脚本)