可以肯定的说出现了中文乱码这种问题,基本上都是因为字符的编码、解码的格式不同。
常见的编码格式 ASCII、ISO-8859-1、GB2312、GBK、UTF-8(推荐)、UTF-16
eclipse 编辑页面出现中文乱码,诺,就是下面这种,一般来说eclipse是默认GBK编码的,当有时候我们导入了UTF-8编码的工程就容易出现这种情况。
通常我们最好在刚安装好eclipse的时候就统一设置为UTF-8。不然项目文件有的是GBK有的是UTF-8就难受了。格式不统一,难受。
window > preferences > general > WorkSpace
window > preferences > general > Content Types
工程文件夹下
右键 >properties > resource
上述的操作只会对新增的文件有效。并不会解决我们的乱码问题。
这种text文档出现乱码,很难搞,而且很容易发生不可逆的变化,如果需重新设置编码的时候最好备份。
当然还有一个补救措施,在单个文件下
右键 >properties > resource
这个操作会改变当前文件的解码方式。如果没有对应格式可以手动添加。
当然,有些时候也是然并软
效果如下:
各IDE设置应该都差不多,安卓studio还会自动检测,看着点就行了,就eclipse坑。
......我都对这种乱码没印象了
设置为一样的就完事了,当然前提是这种编码格式支持中文,不然照样还是会有中文乱码。
还有servelt中。。。
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
response.setContentType("application/json; charset=utf-8");
java IO流要是出现乱码基本也是编码、解码格式设置不统一的问题,基本上我们加上一层格式设置就ok了
new String(s1.getBytes("编码格式"), "解码格式");
如果自己没有设置的话,采用的就是默认设置,所以要想不会出现乱码,自己最好加上一层统一格式设置。
package J;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
public class Test {
//ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16
public static String ENCODING_UTF8 = "UTF-8";
public static String ENCODING_GBK = "GBK";
public static String ENCODING_GB2312 = "GB2312";
public static void main(String[] args) throws UnsupportedEncodingException {
// TODO Auto-generated method stub
//
System.out.println("默认的编码格式" + Charset.defaultCharset());
testOne();
}
public static void testOne() throws UnsupportedEncodingException {
String s1, s2, s3, s4;
s1 = "你好 hello world";
s2 = new String(s1.getBytes(ENCODING_GB2312), ENCODING_GB2312);
s3 = new String(s1.getBytes(ENCODING_UTF8), ENCODING_UTF8);
s4 = new String(s1.getBytes(ENCODING_GBK), ENCODING_GBK);
System.out.println("s1:" + s1);
System.out.println("s2:" + s2);
System.out.println("s3:" + s3);
System.out.println("s4:" + s4);
}
}