【问题标题】:Chinese PHP/MySQL/JSON/Android中文 PHP/MySQL/JSON/Android
【发布时间】:2012-10-01 02:00:17
【问题描述】:

我目前正在开发一个 Android 应用程序,该应用程序在内容上附加了一个基于 Web 的管理系统。我想做的是在 Android 应用程序中显示内容,该应用程序通过 JSON 从 Web 检索信息。应用程序需要支持中文和英文。稍后,我想提供德语、法语、荷兰语和西班牙语。

我的问题来自中文。我有一个用英语完美运行的 PHP 和 MySQL 管理系统。一旦我在系统中添加中文字符,PHPMyAdmin 不会以我输入的相同方式显示字符。编码错误。从那时起,在 Android 中通过 JSON 检索所有内容也不会显示正确的字符。

这里有没有人可以为我指明正确的方向?除了中文,一切正常。我没有中文编码的经验并搜索了互联网。我发现了一些我为 MySQL 尝试的东西,GB 编码数据库中的中文项目,但这似乎不起作用。

【问题讨论】:

  • 标准规则:您需要在整个管道中保持相同的字符集,否则您会得到错误的文本。这意味着你所有的 html 页面、所有的 http 链接、所有的服务器端代码、所有的代码->数据库链接、所有的数据库表等等……一切都必须是一致的,或者至少是链接的通过适当的 carset 转换代码。链中的任何地方都有一个不同的字符集,你最终会得到垃圾。
  • 始终使用 UTF-8。如果你想支持使用非ASCII字符的欧洲语言,选择GB编码来存储中文数据只会让你以后讨厌自己。
  • @Marc B 谢谢,我会记住这一点的。
  • @wooble 谢谢,但是当我这样做时,我在 PHPMYADMIN 中的记录没有显示正确的字符。字符变成奇怪的符号组合。我应该忽略 PHPMYADMIN 中的内容吗?
  • 你是怎么把数据导入mysql的?在整个过程中是 utf-8 编码的吗?

标签: php android mysql json cjk


【解决方案1】:

我将我的 PHP 页面更改为 UTF 并提供数据库记录 uft8_unicode_ci。当我查看 PHPMyAdmin 时,记录显示和以前一样奇怪的字符,PHP 后端的一切看起来都很完美。当我查看 JSON 文件时,我也看到了奇怪的字符,但与 PHPMyAdmin 显示的字符不同。 JSON (PHP) 保存为 UTF-8。

function loadInfo($id){
  if(is_numeric($id)){
    $locatieArray = array();
    $q = 'SELECT * FROM locaties WHERE id='.$id.'';
    $r = mysql_query($q);
    if($l = mysql_fetch_array($r)){
      $loc = array(
        'id' => utf8_encode($l['id']),
        'nameEN' => utf8_encode($l['nameEN']),
        'nameCH' => utf8_encode($l['nameCH']),
        'descEN' => utf8_encode($l['descEN']),
        'descCH' => utf8_encode($l['descCH']),
        'addEN' => utf8_encode($l['addEN']),
        'addCH' => utf8_encode($l['addCH']),
        'img' => utf8_encode($l['img']),
        'rate' => utf8_encode($l['rate']),
        'tel' => utf8_encode($l['tel']),
        'url' => utf8_encode($l['url'])
      );
    }
    $locatieArray[] = $loc;
  }
  // format array for json.
  $returnArray['locatie'] = $locatieArray;
  $json = json_encode($returnArray);
  return $json;
}

我生成 JSON 的方式是否有问题,还是我应该先专注于让中文字符在 PHPMyAdmin 中工作?

【讨论】:

  • 这个问题你解决了吗?我有完全相同的问题。
猜你喜欢
  • 2014-08-25
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-23
相关资源
最近更新 更多