java接口获取数据乱码问题:
BufferedReader br = new BufferedReader(new InputStreamReader(Systemin,"UTF-8"))。Systemoutprint("请输入学生所在地:");
String location = new String(brreadLine()getBytes("GBK"),"UTF-8")。
Systemoutprintln(location)。
ISO8859-1”=》“ISO-8859-1”
或则获取字节数组时调用无参的
new String(getRequest()getParameter("keyword")getBytes(),"UTF-8")。
汉字的字符集不匹配,比如说用UTF-8字符集去解析GBK字符集的汉字就会变成乱码
这里不要用FileReader,这个类用的是默认字符集去读取文本,改用InputStreamReader,它的构造方法中能够指定字符集,让它作为BufferedReader的源,就不会乱码了
hcl=new BufferedReader(new InputStreamReader(new FileInputStream(wjlj
), "GBK"));
如果还是乱码,就把GBK改成UTF-8
Systemoutpritnln(new String(rolesget(0)getName()getBytes("iso-8859-1"),"utf-8"));
转一下试试。
跟踪问题所在:
1、查询一下数据库,判断在数据库中的时候,是否是已经存在了乱码。
2、在读取到Java的时候,你用SystemOut输出一下,判断这个时候,是否是乱码。
3、写入到xml文件的时候,XML中是否是乱码。
如果是1种情况出现乱码,则是写入数据库的时候出现乱码,需要更改写入程序的代码。
如果是2种情况出现乱码,则是读取Oracle的字符集出现错误,设置读取的字符集。
如果是3种情况出现乱码,则是在Java类中写入的时候,设置字符集,查看数据库字符集,设置为UTF-8、或者是GBK字符集。
希望对你有帮助。
那是你选中的文件内容字符编码与jvm缺省的文件编码不一致,如unix下jvm缺省文件编码一般为iso8859-1,而你的文件内容可能使用了GBK,可使用如下代码:
FileInputStream fis = new FileInputStream(Abs);
InputStreamReader isr = new InputStreamReader(fis, "GBK"); //GBK替换成你文件内容使用的编码
BufferedReader br = new BufferedReader(isr);
以上就是关于java接口获取数据乱码问题 !!!全部的内容,包括:java接口获取数据乱码问题 !!!、java,为什么读取文本文件里面的汉字是乱码啊,怎么改啊、java从数据库中获取的日文乱码怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)