1. python 文件头 ,表示文件的内容使用的编码格式
# -*- coding: utf-8 -*-
2. python sys 的编码格式。
reload(sys)
sys.setdefaultencoding("utf8")
3. locale.getpreferredencoding()
4. python可以打印出来标准输入和标准输出的编码格式。
print sys.getdefaultencoding()
print locale.getpreferredencoding()
print sys.stdin.encoding
print sys.stdout.encoding
5 python encode 把字符串编码成16进制数。 decode 解码成汉字
msg = "刘这是一条流。量校准短信,为了让他长一点?abcdefg这。事为什么"
print msg
msg.encode(‘utf-8‘)
cmd = "java -Dfile.encoding=utf-8 -jar jar/netflowcorrect-0.1-jar-with-dependencies.jar %s" % msg.encode(‘gbk‘)
print cmd.decode(‘gbk‘).encode(‘utf8‘)
6 window 环境 命令行默认使用gbk 编码。
使用utf8 把参数编码会被系统默认解码成gbk, 就乱码(可能只乱一小部分),但也是乱码。大部分时间都用来确认这个事情了。
7 java 命令 可以指定默认 字符编码
java -Dfile.encoding=utf-8 -jar jar/netflowcorrect-0.1-jar-with-dependencies.jar
8 java中打印字符编码
System.out.println("Default Charset=" + Charset.defaultCharset());
System.setProperty("file.encoding", "Latin-1");
System.out.println("file.encoding=" + System.getProperty("file.encoding"));
System.out.println("Default Charset=" + Charset.defaultCharset());
System.out.println("Default Charset in Use=" + getDefaultCharSet());
private static String getDefaultCharSet() {
OutputStreamWriter writer = new OutputStreamWriter(new ByteArrayOutputStream());
String enc = writer.getEncoding();
return enc;
}
9 java中String 的编码转换
log("输入2:"+new String(args[index].getBytes("gbk"),"gbk"));
log("输入3:"+new String(args[index].getBytes("utf-8"),"gbk"));
log("输入4:"+new String(args[index].getBytes("GB2312"),"gbk"));
log("输入5:"+new String(args[index].getBytes("cp936"),"gbk"));
log("输入6:"+new String(args[index].getBytes("ISO-8859-1"),"gbk"));
10 java 中System.out 指定编码
private static void log(String msg) {
try {
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println(msg);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
11 html 文件指定编码
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>