【问题标题】:BrowserField Blackberry, Encoding with some characters like " ' "BrowserField Blackberry,使用“'”等字符进行编码
【发布时间】:2011-11-30 05:39:08
【问题描述】:

我在 Blackberry 中遇到 BrowserField 问题,我有一些 HTML 内容包含一些字符,例如“'”,但是当我尝试在 BrowserField 中显示此内容时,我无法显示这些字符,它看起来像这个 ” ? ” 我通过 RichTextField 更改了 BrowserField,我可以在那里看到我的字符,所以我认为问题出在 BrowserField,我尝试像这样更改编码:

HttpHeaders headers = new HttpHeaders();
headers.addProperty(HttpHeaders.HEADER_CONTENT_TYPE,HttpHeaders.CONTENT_TYPE_TEXT_HTML);
headers.addProperty(HttpHeaders.HEADER_ACCEPT_CHARSET, "ISO-8859-1,utf-8;q=0.7,*;q=0.7");


config.setProperty(BrowserFieldConfig.NAVIGATION_MODE, BrowserFieldConfig.NAVIGATION_MODE_POINTER);
config.setProperty(BrowserFieldConfig.ALLOW_CS_XHR, Boolean.TRUE);
config.setProperty(BrowserFieldConfig.HTTP_HEADERS, headers);

但问题仍然存在:( 你能帮我么 最好的问候

【问题讨论】:

    标签: blackberry java-me


    【解决方案1】:

    问题可能是由于 ISO-8859-1 与其超集 Cp1252 (=Windows-1252) 之间的差异。额外的字符之一是 MS Word 产生的非 ASCII 引号。

    发送到浏览器的页面可能会说它们是 ISO-8859-1 (Latin-1),但实际上是超集 Windows-1252 (Windows Latin-1)。即使在 Mac 上,它在所有浏览器中都运行良好。在这种情况下,您必须在服务器端更改为编码 Cp1252。

    response.setEncoding("Cp1252");
    

    response.setContentType("text/html; charset=Windows-1252");
    

    当然UTF-8没有这个问题,而且是国际化的。所以一个可行的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      相关资源
      最近更新 更多