YCI*_*YCI 3 java encoding date utf-8 iso-8859-1
我必须在Java中将String解析为Date对象.字符串MMM d yyyy HH:mm:ss z
设置为的模式后面的字符串French
.
由于法语口音的编码,日期是在二月,八月或十二月时出现问题.例如,我将déc. 15 2011 16:55:38 CET
在2011年12月15日获得.
我不能改变字符串的创建方式,所以我必须处理我身边的错误编码.似乎在生成时字符串编码错误(UTF-8内容编码为ISO 8859-1)然后转义.
现在我使用:
stringFromXML = stringFromXML.replaceAll("é", "é");
stringFromXML = stringFromXML.replaceAll("û", "û");
Run Code Online (Sandbox Code Playgroud)
它之所以有效,是因为法国月份中唯一的重点是é
,û
但有没有更清晰的方式来转换角色?
axt*_*avt 10
你需要两个步骤:
解析数字字符引用,例如,使用StringEscapeUtils
Andy的建议:
String unescaped = StringEscapeUtils.unescapeHtml(in);
Run Code Online (Sandbox Code Playgroud)通过将字符视为UTF-8代码单元来修复编码:
String out = new String(unescaped.getBytes("ISO-8859-1"), "UTF-8");
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
12341 次 |
最近记录: |