回答
有你需要考虑几件事情:
- 检查在数据库中的数据被存储为UTF-8
- 检查客户端连接到数据库是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”);
心连心
$first_char = mb_substr($title, 0, 1);
您需要使用PHP的多字节字符串函数正确处理Unicode字符串:
http://www.php.net/manual/en/ref.mbstring.php
http://www.php.net/manual/en/function.mb-substr.php
您还需要指定的<head>
的字符编码您HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
或:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-16" />
回声mb_substr($标题,0,1); 结果: –
mb_substr不起作用 –
你可以在这里发布完整的字符串吗? –
PHP字符串不明白默认字节字符串,像索引数组将印章的第一个字节,如果这种情况发生不是在你得到这个结果ASCII范围。使用mb_substr方法。
正如先前在其他问题中提到,使用PHP,试图获取子的时候,它不理解多字节字符(如你用UTF8例如获得)。
什么其他的答案不提的是,你应该提示你想使用的mb_substr
因此,编码,例如,我用这个:
mb_substr("Sunday", 0, 1,'UTF8'); // Returns S
mb_substr("воскресенье", 0, 1,'UTF8'); // Returns в
没有'UTF8'参数没有为我工作。谢谢! – PiTheNumber
- 1. 获取UTF8字符串
- 2. 获取字符串中子字符串的第一个字母
- 3. 获取第二个字符/字符串出现的字符串
- 4. 获取每个单词的第一个字符的字符串
- 5. 从字符串数组中获取第一个字符串c
- 6. 如何获取SQL中的字符串的第一个字符?
- 7. 的Java获取第一个字符值的字符串
- 8. 获取UTF8中字符串的长度
- 9. Ruby:如何获取字符串的第一个字符
- 10. 获取并删除字符串的第一个字符
- 11. Android如何获取字符串的第一个字符?
- 12. 获取字符串中第一个字符的Unicode值
- 13. 如何获取字符串的第一个字符
- 14. 在java中的字符串操作,获取第一个字符
- 15. Python:获取列表中第一个字符串的第一个字符?
- 16. 获取字符串中第一个出现的多个字符串之一
- 17. string [0]从字符串中获取第一个字符
- 18. 获取原始utf8字符串
- 19. 获取第一个空格字符和'='字符之间的字符串
- 20. 获取字符串的第一个字,并从实际字符串
- 21. C#:如何获得一个字符串的第一个字符?
- 22. 剥字符串的第一个字符
- 23. PHP:获取第一个字的第一个字符和第二个字符的三个字符
- 24. 如何从utf8字符串中获取等效的非utf8字符?
- 25. 如何获取函数来遍历字符串并替换字符串的第一个字符,第二个等?
- 26. 字符串的第一个字符和最后一个字符
- 27. C++ ifstream UTF8第一个字符
- 28. 获取字符串2个字符串
- 29. 如何从utf8字符串中获取字符
- 30. 获取分隔符前的第一个字符串?
+1提及数据库编码和' mb_internal_encoding' –
......正如在其他两个答案中提到的,您应该使用'mb_substr' –
mb_internal_encoding(“UTF-8”); - 工作正常!谢谢! –