从数据库

时间:2015-10-12 12:32:17

标签: android database character letters non-english

我试图从数据库中读取并在Android中的TextView中显示结果,它一直有效,直到句子中有一个瑞典字母,否则TextView显示为null。 在数据库中一切都很好,即使瑞典字母在那里工作也很完美,但问题在于Android。

我在Android中使用UTF-8,在数据库列中使用utf8-general-ci。

修改 这个PHP函数解决了我的问题

/* Change data-type from string to integar or float if required.
 * If string detected then utf8_encode() it. */
function cast_data_types ($value) {
  if (is_array($value)) {
    $value = array_map('cast_data_types',$value);
    return $value;
  }
  if (is_numeric($value)) {
    if(strpos('.', $value)===false) return (float)$value;
    return (int) $value;
  }
  return utf8_encode((string)$value);
}

json_encode(cast_data_types($ data));

1 个答案:

答案 0 :(得分:-1)

我认为您需要将数据库中的值作为byte[]读取,然后在显示之前使用String将其编码为new String(bytes,"ISO-8859-1")