【问题标题】:Decode Inputsteam with CP1252 encoding in java在java中使用CP1252编码解码Inputsteam
【发布时间】:2011-03-23 18:04:03
【问题描述】:

我通过 ExtJS 从发布请求中收到的输入流采用 CP1252 编码。如何解码 Inputsteam 以便我可以使用 json 字符串并将其转换为适当的 java bean。

我通过 InputStreamReader 的 getEncoding() 方法找到了编码。

ExtJs 以如下格式发送数据:

recordsToSend=%5B%7B%22StartDate%22%3A%222011-03-23T00%3A00%3A00%22%2C%22EndDate%22%3A%222011-03-23T01%3A00%3A00%22%2C%22IsAllDay%22%3Afalse%2C%22CalendarId%22%3A1%2C%22Title%22%3A%22saved%22%7D%5D

需要转换成:

[{"StartDate":"2011-03-23T00:00:00","EndDate":"2011-03-23T01:00:00","IsAllDay":false,"CalendarId":1,"Title":"saved"}]

【问题讨论】:

    标签: java ajax encoding extjs cp1252


    【解决方案1】:

    这不是普通字符到字节意义上的字符编码。这是某种形式的逃避。可能是 URL 转义。看看java.net.URLDecoder 是否有帮助。

    InputStreamReader.getEncoding() 方法只告诉您阅读器用于解码来自底层输入流的字节的编码,这是在构造时指定的,或者如果省略则设置为平台默认值。它不会告诉您有关底层字节流中字符的实际编码的任何信息。

    【讨论】:

    • 感谢您的回答.. 我找到了解决方法.. 实际上,我的 JSP 中的元标记将编码设置为 CP1252... 我将其更改为 UTF-8,世界再次美丽。 .. :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 2017-11-04
    • 2015-12-03
    • 2021-06-14
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多