真机情况下的中文字符显示问题
我的程序功能如下:
从服务器段下载一个xml文件。用kxml2进行解析,解析出一个字符串name="中文",在手机上显示。显示的方式可以是在alert中显示,也可以在textbox中显示。代码如下:
Alert alert=new Alert("显示中文",name);
或者TextBox textbox=new TextBox("显示中文",name,100,TextField.ANY);
xml文件在服务器端是用windows自带的记事本下,用UTF-8编码方式保存的,xml的头为:<?xml version="1.0" encoding="UTF-8" ?>
用两种方法显示“显示中文”这个标题可以正常显示,但是后面的name里的内容显示为“口口口口口”(只是一个例子,具体几个口不知道。但是都显示为口).
其中模拟器是wtk自带的默认模拟器,nokia 7360时s40 3d版,nokia 6108是 s40 1st版
从服务器下载文件使用的http连接是最简单的方式
hc=(HttpConnection)Connector.open(url);
hc.setRequestMethod(HttpConnection.GET);
is=hc.openInputStream();
KXmlParser parser=new KXmlParser();
parser.setInput( is, null);
然后对is进行解析得到name字符串。
这个错误在模拟器和nokia 7360真机上都没有,在nokia 6108上有。
另外:对于nokia 6108与nokia7630我都用System.getAppProperty()方法获得了真机平台的默认编码。
nokia 7360
microedition.encoding ISO-8859-1
nokia 6108
microedition.encoding ISO-8859-1
通过这个显示两个手机平台的默认编码是相同的,但是就是不知道为什么在nokia 6108上面不能正确显示中文。是不是还有什么特殊的要求?请各位帮帮忙,谢谢。
问题点数:20、回复次数:5Top
1 楼caifen1985(飞翔的天空)回复于 2006-05-04 14:30:27 得分 0
继续提问,希望大家帮忙。对我的问题有什么疑问的可以问我,我一直在线
,谢谢Top
2 楼xhcumt()回复于 2006-05-10 13:37:34 得分 0
应该是nokia早期系统的bug。Top
3 楼bdwer(bdwer)回复于 2006-05-10 23:46:53 得分 0
没弄过,不过中文出问题是经常事!呵呵Top
4 楼helpid()回复于 2006-11-22 11:11:59 得分 0
可以在显示中文字符的之前加上
String str = new String(Bytes,"UTF-8");
str = str.substring(1);
UTF-8编码格式的数据是从0位开始读取的.
所以要让汉字正确显示就必须从1位开始读,不然在开头会有一个黑点
Top
5 楼guo__peng(guo__peng)回复于 2006-11-22 11:20:43 得分 0
手机和服务上都采用一样的编码就可以了.我习惯用UTF-8Top




