java乱码
⑴ java 乱码
这代码有两处会导致乱码, 第一new InputStreamReader
的时候没有指定编码, 因此会使用平台默认字符编码, Windows上, 在javase程序中可能是utf8, 在tomcat里可能是gbk, 下面的content.toString().getBytes()
也一样, 需要手动指定具体编码,
第二 你读取到的网页内容编码未必是utf8的, 不能排除content-type=text/html;gbk的网页, 所以你的编码不应该写死成utf8, 而应该根据获取的网页编码动态设置
⑵ JAVA乱码问题
对于Java,由于默认的编码方式是UNICODE,所以用中文也易出问题,常见的解决是:
String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);
1、utf8解决JSP中文乱码问题
一般说来在每个页面的开始处,加入:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
◆charset=UTF-8的作用是指定JSP向客户端输出的编码方式为“UTF-8”;
◆pageEncoding="UTF-8",为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效;
◆request.setCharacterEncoding("UTF-8");是对请求进行了中文编码。
有时,这样仍不能解决问题,还需要这样处理一下:
String msg = request.getParameter("message");
String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
out.println(st);
⑶ java文件中文乱码问题
选中你的文件--右击--属性(properties)--text file encoding 有个default和other 这里选other 然后选UTF-8(你默认的可能是ISO-8859-1的)
然后你把文件中的乱码改回中文 保存~ 这次就不乱码了~
⑷ java中怎么解决中文乱码问题
您好,乱码情况在编程中是常见的问题,您出现的乱码是什么情况下发生的,是编程好的javaweb页面乱码还是内部的参数乱码呢?不论是什么乱码情况,Java几乎都有他的解决方案,您需要由针对性的描述您的乱码的情况是什么。再根据您的情况具体的帮助您,希望能够帮助到您。
⑸ java文件乱码,不是中文乱码,是整个都乱码
我们在eclipse中打开java项目,发现中文都是乱码。
首先我们可以打开工具菜单“Project”--“Properties”。
⑹ java程序中文汉字会乱码
首先要加一个utf-8过滤器以过滤post提交乱码问题;
再在tomcat的server.xml文件中配置<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
处理get提交乱码问题;
注意在用了这2个配置后就不要再在程序中用getBytes对参数进行转码了
⑺ JAVA 乱码 根本原因是什么
java出现乱码的原因是
.java 文件中的编码格式和命令提示符的指令不一致导致的
比如.java 使用的是utf-8,windows环境下命令提示符编码是gbk,在使用javac 命令进行对.java文件进行编译的时候,.java文件中的中文字符就会出现 乱码.
出现这样的情况,处理方式是通过现在编译编码-encoding 处理
javac-encodingutf-8Test.java
⑻ java乱码问题
把乱码的字符串转成字节数组,然后再利用String的构造函数指定相应的charset。
比如:
new String(s1.getBytes(),"GBK");
⑼ java中文乱码
主要是编码差异,PrintWriter甚至整个Java IO默认会以UTF-8编码输出
你的网页编码必须设为UTF-8才能正确显示其中的中文。
或者向PrintWriter传入其他编码的OutputStream,比如win默认的gbk编码。
或者使用DataOutputStream灵活写各种形式的数据。
⑽ Java乱码的问题
你知道乱码原来的编码吗,如果知道就先把它转化回去如: byte[] b=str.getBytes("ISO-8859-1"); 一般的默认是ISO-8859-1形式的编码 一般以POst方法