2012-09-22 99 views
0

Issue with "á,é,í, ñAndroid Issue顯示特殊字符

我在顯示特殊字符時出現問題。我被告知編碼有錯誤。我在我的測試設備上運行應用程序,並且我得到這個錯誤。出現此錯誤的人正在測試相同設備型號上的應用程序,但使用較新的固件版本。

我被告知「字形是替換字符,你把文件編碼搞亂了,爲了保持理智,所有東西都應該是UTF-8。」但是,它在我的設備上運行良好。

是否有這種類型的問題的已知修復程序。日Thnx!

編輯 - 下面是我在試圖複製中國工程師編寫的代碼時得到的一個錯誤圖像。以前從未合作過,像這樣我不確定這是否是最終反映出來的共同問題應用程序utf-8 errorenter image description here

+0

文字從哪裏來? –

+0

它駐留在alertDialog被調用的相同.java類中。 'dialogBu​​ilder.setMessage(「Aquívamos a probar nuestrapronunciacióny reconozimiento。」);'如果字符從「strings.xml」中拉出,則字符顯示正確 – user1446988

回答

1

嗯......你爲什麼要在.java文件中定義字符串?他們最終需要存在於strings.xml才能進行本地化,而不管這是Android的方式。

,如果你看看你strings.xml文件的頂部,你看到這樣一條線,

<?xml version="1.0" encoding="utf-8"?> 

告訴任何消耗該文件的字符編碼爲UTF-8(顯然)。你會在你的.java文件中找不到這樣的行。它將被編碼爲eclipse默認值,這取決於您的主機操作系統,幾乎肯定不是UTF-8。保存.java文件時,編碼過程中會丟失特殊字符。

+0

偉大的thnx多數民衆贊成在我想! – user1446988

0

簡單的解決方案:總是使用strings.xml

當你從java代碼中加載一個字符串時,根據IDE(Eclipse?)認爲你的.java文件的編碼應該是什麼以及java編譯器認爲什麼,它可能會被損壞。

我的Eclipse工作區默認使用Windows編碼(CP1252)作爲.java文件。您可以在文件屬性中看到編碼。它正確顯示strings.xml文件的UTF-8。

+0

感謝您的輸入。奇怪的是,角色顯示的很好,並且仍然在我的測試設備上顯示。當我在中國工作的人員在我的源代碼中添加了一些代碼時,問題就開始了。仍然不確定是否會導致問題,或者因爲他們正在使用adiff。固件。 – user1446988