[英]Not able to display special characters
我無法在屏幕上顯示特殊字符(拋光字符)。 我有一個要求,我從數據庫中獲取具有一些特殊字符的數據。 我以xml格式獲取數據(xml沒有將其識別為字符串)並將其傳遞給我嘗試顯示數據的操作。 我試圖將特殊字符的Uniciode作為ł
但是當我嘗試顯示時,這會被轉換為ł
因此我無法顯示它,因為它不會將其作為字符串。
String ex1="ł";
System.out.println("ex1...."+ex1);
output:: ?
我試圖使用以下代碼獲取Unicode ::
public static String convert (String str) throws UnsupportedEncodingException
{
String tc = str;
String output = "";
char[] ca = tc.toCharArray();
for (int i = 0; i < ca.length; ++i)
{
char a = ca[i];
if ((int) a > 255)
{
output += "&"+"#X"+ Integer.toHexString((int) a) + ";";
}
else
{
output += a;
}
}
return output;
}
輸出為:如果輸入為str="ł"
則output=ł
不要重新發明輪子! 使用Apache Commons Lang庫中的StringEscapeUtils類的escapeXml方法,這樣就可以實現這個簡單的解決方案:
StringEscapeUtils.escapeXml(input);
將頁面的內容類型設置為UTF-8。
還要確保將響應頭設置為UTF-8。 請參閱 - http://www.w3.org/International/O-HTTP-charset.en.php
當您想在控制台窗口中編寫波蘭字符時使用(重定向System.out !!!)
我測試過:
System.setOut(new PrintStream(System.out, true, "Cp852"));
System.out.println("ex1...."+ex1);
......它的工作原理!!!! - 在cmd窗口中顯示拋光字母。
Powodzenia!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.