获取 UTF-8 字符串的第一个字符

2022-01-04 00:00:00 php yii

我从 db 得到一个 UTF-8 字符串,并试图回显它的第一个字符:

I get an UTF-8 string from db, and trying to echo its first character:

$title = $model->title;
echo $title[0];

我得到:

怎么了?

推荐答案

您需要考虑以下几点:

  1. 检查数据库中的数据是否以 UTF-8 格式存储
  2. 检查客户端与 DB 的连接是否为 UTF-8(例如,在 mysql 中,请参阅:http://www.php.net/manual/en/mysqli.character-set-name.php)
  3. 确保页面的内容类型设置为 UTF-8 [您可以使用 header('Content-Type: utf-8'); ]
  4. 尝试设置内部编码,使用 mb_internal_encoding("UTF-8");
  5. 使用 mb_substr 代替数组索引符号
  1. Check that data in the DB is being stored as UTF-8
  2. Check that the client connection to the DB is in UTF-8 (for example, in mysql see: http://www.php.net/manual/en/mysqli.character-set-name.php)
  3. Make sure that the page has it's content-type set as UTF-8 [you can use header('Content-Type: utf-8'); ]
  4. Try setting the internal encoding, using mb_internal_encoding("UTF-8");
  5. Use mb_substr instead of array index notation

相关文章