java从数据库里读文件变乱码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java从数据库里读文件变乱码相关的知识,希望对你有一定的参考价值。
我用的是SQL 2005。在留言页面里有标题和内容。标题是文本框,内容就是文本域(textarea)。提交后把文本框里和文本域里的东西都放到数据库里。
提交后存在数据库里的中文是正常的。没有一点乱码,可读出来时就出问题了。标题可以正确的读出来。而读出内容时就成了乱码,像这种“H?RIQH?RIQH?RIQ”
查数据库里的中文都是正常的。而且标题显示到页面也是正常的。就是内容成了乱码。(应该就关留言页面的文本域的事,标题用文件框没事,内容用文本域就有事)
我也试过用content = new String(content.getBytes("ISO-8859-1"), "gb2312");
也还是输出类型于“H?RIQH?RIQH?RIQ”的乱码。其实也知道这样没用,因为数据库里的都是正常的。
应该如何解决??
根据你上面的话
帮你分析一下问题来源吧
1.标题文件框正常显示。(说明你的JSP编码已经为GBK或者GB2312)
2.数据库中内容正常显示。(说明你存储内容这个过程是没问题的)
所以问题就只能出现在从数据库读取内容并显示的过程中了。
我以前处理过许多mysql各种版本的乱码问题。问题的主要原因是mysql默认编码的问题。一般修改数据库的编码,重建数据库即可,为了保险可以加上一个过滤器。做完这些就可以保证万无一失了。
sql 2005我用的不是很多,你可以查找一下它数据库编码的资料,看看是否修改过其中的编码配置。 参考技术B 如果你设的是防乱码是对的,记得有个专门设置只出中文的 好像是U-8 ,不是很清楚了,查查吧 参考技术C 改成content = new String( content.getBytes( "iso-8859-1" ) );试一下 参考技术D 用这个试试,request.setCharacterEncoding("GB18030");
哪里有错误啊输入分数后就出错变乱码了
http://baobao.baidu.com/question/49605356b15c3877893c02e8f8c9c380.html?d9=2017/12/04 http://baobao.baidu.com/question/e6229668680e18ead75399d7a7bf48e2.html?NlMA=2017/12/04 http://baobao.baidu.com/question/7871dbe2c5885973d37b9cc21072cb90.html?2017.12.04jVJ=290 http://baobao.baidu.com/question/a4ef20d7c883bdb2015b5dad6d49bdd1.html?2017.12.04eJL=440 http://baobao.baidu.com/question/a8b80d38aafaec856105fbc8efefdaa1.Ra0F0以上是关于java从数据库里读文件变乱码的主要内容,如果未能解决你的问题,请参考以下文章
记事本 该文件含有unicode格式的字符 点确定就变乱码了,notePad++,UltraEditor等编辑器打开也变乱码?