获取 UTF-8 字符串的第一个字符
我从 db 得到一个 UTF-8 字符串,并试图回显它的第一个字符:
I get an UTF-8 string from db, and trying to echo its first character:
$title = $model->title;
echo $title[0];
我得到:
怎么了?
推荐答案
您需要考虑以下几点:
- 检查数据库中的数据是否以 UTF-8 格式存储
- 检查客户端与 DB 的连接是否为 UTF-8(例如,在 mysql 中,请参阅:http://www.php.net/manual/en/mysqli.character-set-name.php)
- 确保页面的内容类型设置为 UTF-8 [您可以使用
header('Content-Type: utf-8');
] - 尝试设置内部编码,使用
mb_internal_encoding("UTF-8");
- 使用
mb_substr
代替数组索引符号
- Check that data in the DB is being stored as UTF-8
- 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)
- Make sure that the page has it's content-type set as UTF-8 [you can use
header('Content-Type: utf-8');
] - Try setting the internal encoding, using
mb_internal_encoding("UTF-8");
- Use
mb_substr
instead of array index notation
相关文章