我做一个联通计费程序,遇到困难请你帮忙!
关于计费文件编码的问题
联通要求是ASCII编码,我已经这么做了,我用的是JAVA程序,
new String(billrecord.toString().getBytes("ASCII"),"ASCII");汉字不能正常显示,但联通给我的例子也是用ASCII编码的,但可以正常显示,有什么办法吗?请帮忙!下边覆上联通的例子我把我程序生成的文件贴上来
我的汉字变成?号,其实把汉字变成ASCII肯定无法正常显示0110020051027031033901105034200510270210332005102703103300000000010000002000 
0001
0||10.75.75.153|80|?????VOD?????|48|????|96|streaming/0008/48/48_20051012155721.3gp|13382080174|13382080174||||2005-10-27 15:01:05.0|2005-10-27 15:04:02.0|0|177|0|0|918399|2000|2000|0|1|2|||streaming/0008/48/48_20051012155721.3gp?title=%c9%f1%bb%b0-%d0%fc%d1%c2%be%c8%c5%ae&contentid=96&msisdn=13382080174&contenttype=3>ime=1130395625&tokenname=keyname&guid=695a026028e34028845e00118566F7A2&key=E878F4A1444995542518B76E738AF694||||这是联通的例子
2 0 aaa 0.0.0.0 01 WAaaa KLSYX 你好 KLSYX 你好 13382569021 460030982568374 WAP NAIdomain 20051026143046 20051026143046 1000 1000 0 4 1 904470000000002070 904000000000000000 ssssssss 904 JS70000005653127 0 13382569021 1

解决方案 »

  1.   

    处理中文的话用gbk
    其他的new String(billrecord.toString().getBytes("ASCII"),"ASCII");
    不管编码方式怎么样中文都转不回去了还有楼主new String(billrecord.toString().getBytes("ASCII"),"ASCII");干什么的
    先得到bytes,再转为string,没干什么事倒把中文弄出问题了
      

  2.   

    new String(billrecord.toString().getBytes("ASCII"),"ASCII");这个是将字符串billrecord改为别的编码方式,你可以看一下j2sdk的文档,那里有说明,你不能这样写,前后两个引号里的东西是不一样的,应该这样new String(billrecord.toString().getBytes("ASCII"),"ISO8859-1");,或者别的,反正是你合适的编码格式,new String(billrecord.toString().getBytes("GB2312"),"ISO8859-1");这个对你的东西可能行
      

  3.   

    用utf8确实可以正常显示中文,但对方说汉字是乱码!不知道什么意思!to:shihp(馋师)
    我按你方法试了一下,还是不行!我在WINDOWS和LINUX平台全部试了一下,都是同样的问题,只要汉字正产显示,文本的编码变成UTF-8。我想要的是编码是ANSI,汉字还可以在正常显示
      

  4.   

    2 0 aaa 0.0.0.0 01 WAaaa KLSYX 你好 KLSYX 你好 13382569021 460030982568374 WAP NAIdomain 20051026143046 20051026143046 1000 1000 0 4 1 904470000000002070 904000000000000000 ssssssss 904 JS70000005653127 0 13382569021 1联通这个是怎么得到的,楼主给一段代码
      

  5.   

    如果是手机短信的话应该是UTF-8编码