Mysql 如何显示本地化字符

Mysql 如何显示本地化字符,mysql,android,http,character-encoding,Mysql,Android,Http,Character Encoding,我有一个MySQL数据库,从数据库中检索php代码,还有一个Android程序,通过http post接收php代码的输出 我的本地化字符在我的程序中显示为问号。我在数据库中尝试了不同的字符集。utf8_general_ci、utf8_unicode_ci、latin1_general_ci-仍然是问号。在html中,我可以使用codeø,但在Android程序中不行——我不应该这样做 首先,这个问题是从哪里来的?数据库本身使用utf8\显示本地化字符没有问题。安卓也没有问题。是http pos

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

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


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

我会逐层检查:

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

    • 我会逐层检查:

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

      在一步一步地进行测试之后,我找到了一个解决方案。将输入流上的字符代码设置为ISO-8859-1(拉丁文1)。尽管DB是UTF8,但仍然如此。我不知道这以后是否会有不明确的结果,但现在它起作用了。在我的XML文件中将字符编码设置为ISO-8859-1而不是UTF对我起作用了。在一步一步地进行测试之后,我找到了一个解决方案。将输入流上的字符代码设置为ISO-8859-1(拉丁文1)。尽管DB是UTF8,但仍然如此。不知道这以后是否会有不明确的结果,但它现在起作用了。将XML文件中的字符编码设置为ISO-8859-1而不是UTF对我起作用