JAVA 乱码
1. Tomcat默认的字符编码是"ISO-8859-1"。
2. Tomcat更改编码集,在server.xml的配置文件中更改。
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
3. JAVA如何将乱码字符串显示正常,首先要知道乱码的编码集,获取乱码字符串的byte[],再转换成你要的编码。
new String(oriStr.getBytes("original charset"),"new charset");
4. 如果JAVA文件是GBK编码,那在new String对象时,会按照GBK来编码,但如果外部文件的编码是UTF8,直接读取外部文件new String对象就会乱码,必须在new String对象时,指定其原来的编码格式-UTF8,生成的String对象按GBK编码来显示就不会出现乱码。
public static void main(String[] args){
File file = new File("F:/chinese.txt");
FileInputStream fis;
try {
fis = new FileInputStream(file);
byte[] bytes = new byte[1024];
String str = "";
int count;
while ((count=fis.read(bytes)) != -1) {
str = str + new String(bytes, 0, count,"utf8");//text file is utf8, java file is GBK
//str = str + new String(bytes, 0, count);//error
}
System.out.println(str);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
浙公网安备 33010602011771号