php - Unicode 字符串 PHP

标签 php string unicode echo

我有一个问题! 我想在 php 中打印一个 unicode 字符串(如 'การ่')! 但是当我使用 echo 时只有一些???出现!!!

我该怎么办??? 当我想选择从数据库检索的字符串时,就会发生这种情况!

echo 'سلام';

结果是:

????

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

最佳答案

您需要做三件事:

  1. 确保您接收的数据为 UTF-8 数据。对于 MySQL,请在选择记录之前查询SET NAMES 'utf8'
  2. 确保在处理 UTF-8 字符串时使用 UTF-8 兼容函数。
  3. 确保将输出编码设置为 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/

相关文章:

php - 在MYSQL中放置数组的值

string - 从 bash 中的字符串中提取电子邮件字符串

java - 在不使用任何临时字符串、字符或字符串生成器的情况下在 Java 中反转字符串

ios - 如何从 Swift 字符串中选择大写字母?

javascript - SVG 字体中的西里尔字符

python - UnicodeEncodeError :'charmap' 与 'Ö' ,'Ç' 等

php - Symfony/Form:函数 DoctrineType::__construct() 的参数太少

php - 分配外部 Javascript src 的输出以避免脚本挂起

java - Java/POSIX 正则表达式中是否有 `{\pGraph}` 的 Unicode 等效项?

php - 通过静态和非静态方法访问静态属性?