簡體   English   中英

Windows-1252編碼 - 顯示不正確的字符

[英]Windows-1252 encoding - incorrect characters displayed

我有一個帶有在Windows-1252中編碼的字符的緩沖區。 但是,當我使用適當的編碼創建一個新的String時,而不是預期的結果,我經常會得到詢問標記,例如。

byte[] tmps = new byte[] {(byte) 0xfb};
System.out.println (new String (tmps,0,1,"Windows-1252" ));

結果,系統應顯示“u”字符,其上方帶有“^”。 而是顯示“?”。

任何想法?

首先,Windows-1252 受支持的編碼:

我認為這里最可能出現的問題是輸出端。 具體來說,Java可能會認為您的語言環境的默認字符集是ASCII或不支持該代碼點的內容。

消除Windows-1252作為問題原因的一種方法是使用Unicode轉義編寫等效字符串; 例如

    System.out.println("\u00fb");

我已經發現了這個。

菜單運行/運行配置/下一個Java應用程序和您自己的應用程序名稱/選項卡常用/下一個編碼設置為UTF-8

從現在開始,Windows 1250和1252個字符似乎都顯示正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM