【问题标题】:Howto display localized characters如何显示本地化字符
【发布时间】:2010-12-14 06:07:14
【问题描述】:

我有一个 MySQL 数据库、要从数据库中检索的 php 代码,以及一个通过 http post 从 php 代码接收输出的 Android 程序。

我的本​​地化字符在我的程序中显示为问号。我在我的数据库中尝试了不同的字符集。 utf8_general_ci、utf8_unicode_ci、latin1_general_ci - 仍然是问号。在 html 中我可以使用代码 ø,但不能在 Android 程序中使用 - 而且我不应该这样做。

首先,这个问题是从哪里来的?数据库本身使用 utf8_ 显示本地化字符没有问题。安卓也没有问题。是http post请求还是php有问题?

【问题讨论】:

    标签: mysql android http character-encoding


    【解决方案1】:

    我会逐层检查:

    • 即使 DB 编码也是 UTF8 - 您确定该值已正确存储?
    • 您是否有办法测试 API 案例(即使用 Web 界面),如果需要,您可以进行数据包检查并检查正确的 UTF-8 值
    • 您的 PHP API 发送的编码是否正确?
    • 在 Android 中读取 HTTP 响应(即解析流)时,您是否提供了一种编码?它是否正确?

    【讨论】:

    • 在一步一步地进行之后,测试了一些甚至没有意义的东西,我想出了一个解决方案。将输入流上的字符代码设置为 ISO-8859-1 ( latin1 )。尽管数据库是 UTF8。不知道这是否会在以后产生模棱两可的结果,但它现在有效。
    • 将我的 XML 文件中的字符编码设置为 ISO-8859-1 而不是 UTF 对我有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    相关资源
    最近更新 更多