从原来的C代码中移植了一个方法到android上,从一个数组中,按照区号查询城市名。如下:public class Areacode2CityCls {
        private final String ncAreaCode = new String[] {
                        "北京市",
                        "100000",
                        "010",
                        "大兴",
                        "102600",
                        "010",
                        "门头沟",
                        "102300",
                        "010",
                        "怀柔",
                        "101400",
                        "010",
                        "东城",
                        "100010",
                        "010",
                        "西城",
                        "100032",
                        。根据区号,查这个数组,查到城市的时候,return 城市名,比如010区号,会查到“北京市”:                      city = ncAreaCode[ i*3];
                     return City;程序是在linux上build的,现在return 得到的字符串都是乱码。如果在windows上用eclipse则正常。
急死了,怎么也解决不了,大侠们给点指示为盼!

解决方案 »

  1.   

    在java类中定义的String[] 的数组,难道不是UNICODE编码吗?
      

  2.   

    我尝试了将数组定义成 CharSequence[],也不行
      

  3.   

    是不是unicode编码,看看不就知道了。你怎么知道是乱码?输出到哪里?终端?终端默认UTF-8啊。“北”字的 unicode - 0x5317, gb2312 - 0xB1B1 , UTF-8的你网上查查是多少。看看就好了呀。
      

  4.   


    在终端上运行,从logcat中,看到是三个竖线|,二进制值是3F,在终端界面上也是乱码
      

  5.   

    把你得到的string用 x% 打出来,一个字符一个字符打,unsigned char打
      

  6.   

    自己解决了
    把源文件另存为unicode格式,都好了