我有一些字符集编码/解码问题。
我正在做的是:
问题是,某些链接的标题和说明文字未在我的Android应用中正确显示(破解)。
我已经尝试了几个链接的建议,如下所示。 UTF-8 encoding in Volley Requests
public static String fixEncodingUnicode(String response) {
String str = "";
try {
str = new String(response.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String decodedStr = Html.fromHtml(str).toString();
return decodedStr;
}
似乎它适用于一些英文网页,但在非英文网页中不起作用,例如charset是EUC-KR。所以我决定了解编码和解码对的所有组合,如下所示。而且我发现一些配对正常。
问题是,如何为所有语言(包括非英语alpabets)设置适当的编码/解码对?
public static void checkEncodingCombination(String parsedHtmlTitle) {
String str = "";
for (Map.Entry<String, Charset> entry : Charset.availableCharsets().entrySet()) {
for (Map.Entry<String, Charset> entry2 : Charset.availableCharsets().entrySet()) {
try {
str = new String(parsedHtmlTitle.getBytes(entry.getValue().toString()), entry2.getValue().toString());
LOGS.d(TAG, "encodingCharset: " + entry.getValue().toString()
+ ", decodingCharset: " + entry2.getValue().toString() + ", str: " + str);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
}
提前谢谢!:)