| « | January 2026 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
| 公告 |
| 暂无公告... |
| Blog信息 |
|
blog名称: 日志总数:29 评论数量:19 留言数量:0 访问次数:118493 建立时间:2006年5月29日 |

| |
|
[java与中文]乱码问题(二) 软件技术
krf301 发表于 2007/4/16 20:34:13 |
我们常常没有用到encoding这个参数。其实encoding这个参数对于跨平台的操作是很重要的。如果没有指定encoding,则按照系统的默认encoding,gb平台上是gb2312,英文平台上是iso8859_1。Java的编译器实际上是调用sun.tools.Javac.main的类,对文件进行编译,这个类有compile函数中间有一个encoding的变量,-encoding的参数其实直接传给encoding变量。编译器就是根据这个变量来读取Java文件的,然后把用utf-8形式编译成class文件。例子代码:
String str = "你"; FileWriter writer = new FileWriter("text.txt"); write.write(str); writer.close();
如果用gb2312编译,你会找到e4 bd a0的字段 ; 如果用8859_1编译, 00c4 00e3的二进制: 0000,0000 ,1100,0100 ,0000,0000 ,1110,0011 |
|
|
[java与中文]乱码问题  软件技术
krf301 发表于 2007/4/16 20:31:14 |
| java 采用unicode 编码来处理字符。Java 程序无论是从/往文件系统以字符流读/写文件,还是往URL 连接写 HTML 信息,或从URL 连接读取参数值,都会有字符编码的转换。编/解码过程如下图:
乱码产生的根源是由于编码和解码采用的不是同一种码(gbk,utf-8,iso8859-1)。
字符串(String 或char[])"123你" 经过java 编码后的字节流(unicode 字节流)为31 00 32 00 33 00 60 4f。如果你用new String("123你".getBytes("iso8859-1"), "gbk") |
|
|
[java与中文]j2me连接jsp页面 软件技术
krf301 发表于 2007/4/12 18:30:40 |
第一种方法:
String host = set.getUrlString().toString().trim(); String url = "http://" + host + ":7878/test/chaxun.jsp"; String message = urlEncode("lianxifangshi=" + set.getPassword().toString().trim() + "&xingming=" + set.getName().toString().trim() + "&xueqi=" + choiceId);
HttpConnection conn;
if (cmnet) { &nbs |
|
|
[java与中文]cmwap访问方式 读书笔记
krf301 发表于 2007/4/4 7:53:08 |
if(cmnet){
hc = (HttpConnection)Connector.open(url);
}else{
hc = (HttpConnection)Connector.open("http://10.0.0.172/" + "aaa.txt"); hc.setRequestProperty("X-Online-Host","www.668xxb.com/");
} |
|
|