晚上整了很久关于JSP和mysql的中文问题,终于弄明白了!
mysql我设置的编码格式是gb2312,在所有的JSP页面上也是gb2312,
然而之前遇到的问题总是插入到数据库的是乱码,读出来显示的也是乱码!
我用SQL命令直接insert汉字到数据库却没有问题。
想来想去,原来是因为在将数据插入到数据库的时候出现了编码不一致的问题。
在Eclipse环境下,General->Content Types->Text->Java Properties File->Preferences
发现Defalt encoding是ISO-8859-1。
于是采用将数据插入到数据之前做一次转换:
String content = new String(respondContent.getBytes("iso8859-1"),"gb2312");
取出数据的时候不需要转化!
总结:
做任何事情,发生问题之后,一定要冷静思考它的root cause,这样才是解决问题的根本之道!
07-22
07-22
07-22
07-22