Unicode字符串php

und*_*one 2 php string unicode echo

我有个问题!我想在php中打印一个unicode字符串(比如'سلام')!但是当我使用echo时只有一些??? apear!

我该怎么办?这发生了,我想要从数据库中检索字符串!

echo '????';
Run Code Online (Sandbox Code Playgroud)

结果是:

????
Run Code Online (Sandbox Code Playgroud)

我尝试使用标题功能,但这对我没有帮助!

str*_*ger 6

你需要做三件事:

  1. 确保您以UTF-8数据的形式接收数据.对于MySQL,SET NAMES 'utf8'在选择记录之前进行查询.
  2. 在处理UTF-8字符串时,请确保使用UTF-8兼容函数.
  3. 确保将输出编码设置为UTF-8.对于HTML,可以通过将Content-typeHTTP标头设置为(例如)来完成text/html; charset=utf-8.

当然,将"UTF-8"替换为您需要的任何编码,以支持您需要的字符.无需更改数据库表(可能的性能提升除外).如果您决定使用UTF-16或其他非(大部分)与ASCII兼容的东西,您可能需要更改HTML模板等.