2014-11-17 121 views
0

在宣布这一错误无效字符常量

char strFrench[] = {'è', 'é', 'ê', 'ë', 'ú', 'û', 'ù', 'ü', 'ï', 'î', 'à', 'â', 'ô', 'ö', 'ç', 'ÿ', 'È', 'É', 'Ê', 'Ë', 'Ú', 'Û', 'Ù', 'Ü', '�', 'Î', 
        'À', 'Â', 'Ô', 'Ö', 'Ç', 'Ÿ', 'à', 'â', '-'}; 

越来越无效字符constant.for每个字符如何解决这个问题? 这里是我的总码

char strFrench[] = {'è', 'é', 'ê', 'ë', 'ú', 'û', 'ù', 'ü', 'ï', 'î', 'à', 'â', 'ô', 'ö', 'ç', 'ÿ', 'È', 'É', 'Ê', 'Ë', 'Ú', 'Û', 'Ù', 'Ü', '�', 'Î', 
       'À', 'Â', 'Ô', 'Ö', 'Ç', 'Ÿ', 'à', 'â', '-' /*, ''', 'œ', 'Œ'*/}; 
     char strEnglish[] = {'e', 'e', 'e', 'e', 'u', 'u', 'u', 'u', 'i', 'i', 'a', 'a', 'o', 'o', 'c', 'y', 'E', 'E', 'E', 'E', 'U', 'U', 'U', 'U', 'I', 'I', 
       'A', 'A', 'O', 'O', 'c', 'y', 'a', 'a', ' ' /*, ' ', 'oe', 'oe'*/}; 


     String str = getValidString(strFrench, strEnglish, searchKey); 
     str.replaceAll("'", " ");   
     str.replaceAll("oe", "Å“"); 
     str.replaceAll("oe", "'Å’"); 
     ville = mDbHelper.getVilleInfo(str.toString()); 
+0

您可能需要使用适当的编码来编译Java文件。检查这个:http://stackoverflow.com/questions/18936884/eclipse-encoding – Mixaz

回答

1

多个字符不能存储为单个字符。

如果你想在一个元素使用多个字符,然后使用一个String数组:

String[] strFrench = {"è", "é", "ê", "ë", "ú", "û", "ù", "ü", "ï", 
     "î", "à ", "â", "ô", "ö", "ç", "ÿ", "È", "É", "Ê", "Ë", "Ú", 
     "Û", "Ù", "Ü", "�", "Î", "À", "Â", "Ô", "Ö", "Ç", "Ÿ", "à ", 
     "â", "-"}; 
+1

其实他们看起来像字符,但以UTF-16编码(每个字符2个字节)。编辑:可能它是UTF-8 – Mixaz

+0

它发生bcz我使用的代码是在Linux中编写的,以前它工作正常。当我在Windows上导入我的项目时,我得到了这个问题 – Prabha1