我有一个问题! 我想在 php 中打印一个 unicode 字符串(如 'การ่')! 但是当我使用 echo 时只有一些???出现!!!
我该怎么办??? 当我想选择从数据库检索的字符串时,就会发生这种情况!
echo 'سلام';
结果是:
????
我尝试使用 header 功能,但这对我没有帮助!
最佳答案
您需要做三件事:
- 确保您接收的数据为 UTF-8 数据。对于 MySQL,请在选择记录之前查询
SET NAMES 'utf8'
。 - 确保在处理 UTF-8 字符串时使用 UTF-8 兼容函数。
- 确保将输出编码设置为 UTF-8。对于 HTML,可以通过将
Content-type
HTTP header 设置为(例如)text/html 来完成; charset=utf-8
.
当然,将“UTF-8”替换为支持您需要的字符的任何编码。无需更改数据库表(除了可能的性能提升)。如果您决定使用 UTF-16 或其他(大部分)不兼容 ASCII 的内容,您可能需要更改 HTML 模板等。
关于php - Unicode 字符串 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3650754/