
我遇到过和你一样的错误,
在你编写String gb = new String(“数据库查处来的中文”getBytes("ISO-8859-1"),"UTF-8");这句话的时候请注意一下“数据库查处来的中文”必须是ISO-8859-1编码,否则转换失败。
另外光数据库是UTF-8编码是不行的,请确定一下数据库建表的时候是否设置成UTF-8编码。
希望我的回答能够帮助你,谢谢
中文乱码问题真的是一个很棘手的问题,特别是从前台传到后台之后,都不知道问题出在哪里了。现在分享解决javaWEB中前后台中文乱码问题的3种方法。
方法一:
tomcat的自带编码是ISO-8859-1的格式,是不兼容中文的编码的。所以我们从后台接收的时候要注意。
采用相同的格式去接收(ISO-8859-1),然后用能解析的编码(utf-8)去转换。这样我们就能得到能兼容中文的格式了。这样处理之后发往前台。注意:发往前台的时候也需要设置一下
respsetContentType("text/html;charset=utf-8");//设置页面的字符编码,解决界面显示中文乱码的问题
protected void service(>
String FilePath="F:\Note\短信txt";
按1楼的配置完成后,在jsp页面page里加上pageEncoding="UTF-8"
传递参数时这样:
FilePath=<%=javanetURLEncoderencode(FilePath,"UTF-8")%>
必须这样,要不偶数个汉字没问题,而奇数个汉字就有问题了。呵呵
这个问题有两种办法:
第一种办法:如楼上所说的那样也可以,就是native2ascii -reverse -encoding gb2312 userproperties ActionName_zh_CNproperties这样以后,你打开ActionName_zh_CNproperties的内容,再将ActionName_zh_CNproperties文件这样置:native2ascii ActionName_zh_CNproperties userChangeproperties 然后你的程序读userChangeproperties的内容就可以。
第二种办法是:
如你代码里写的,你可以在String username=propertygetProperty("username");之后,添加JAVA代码页可以将乱码转为中文的。用如下语句就可以了,resultName=new String(usernamegetBytes("ISO-8859-1"),"gbk"); 然后再用resultName就可以了,不过这样的话你下面的String password=propertygetProperty("password");
都慢慢的通过上面的java代码去转。
不知道你对反射熟悉不?如果熟悉的话可以通过反射机制去做第二种办法的转码就方便多了!
举个例子,现在我们都会汉语,有一天一个日本鬼子(客户端请求的数据,拥有和你不同的编码)来了和你(服务端是另一种编码格式)对话。你会想着他会说什么王八蛋之类,但是他却说的八嘎呀路,这时候你就蒙了!用你的语言根本不理解也不知道他说的是什么,所以你的脑海里出现了很多问号代表你解释不了
以上就是关于java程序中文汉字会乱码全部的内容,包括:java程序中文汉字会乱码、javaweb怎么处理中文乱码问题、java 求助:如何解决地址栏传参数为中文文件路径时 乱码的情况等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)