【问题标题】:PHP special characters not showing [duplicate]PHP特殊字符未显示[重复]
【发布时间】:2013-06-06 07:38:46
【问题描述】:

任何人都可以帮助处理特殊字符和php。

以下php:

$IHaventReceivedCode = "Je n'ai pas reçu mon code";

显示为:

Je n'ai pas re�u mon code

我已经尝试添加到顶部的文件中:

ini_set('default_charset', 'UTF-8');
header('Content-Type: text/html; charset=UTF-8');

还有head标签:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

但是,字符没有显示出来。

有什么想法吗?

【问题讨论】:

  • 您是否检查过您的 PHP 文件本身是否以 UTF-8 格式存储?
  • 如果您改用纯 HTML,问题是否仍然存在?这可能是整个文件问题的编码。
  • hw - 这是一个共享服务器,我无权访问 php.ini 文件 Kamikaze - 是的,正常纯 html 时工作正常
  • stackoverflow.com/questions/279170/utf-8-all-the-way-through,这个问题已经被问过很多次了
  • in connection.php: mysqli_set_charset($con,"utf8");并在 sql 排序规则中 utf=8

标签: php utf-8 special-characters


【解决方案1】:

尝试将文档转换为该编码。例如,如果您使用的是 Notepad++,您可以执行以下操作:

【讨论】:

  • 我试过了,但它似乎删除了这些字符/将它们转换为没有重音符号。我添加了: header('Content-Type: text/html; charset=ISO-8859-1');然后它呈现得很好..但不确定为什么 utf-8 一个不起作用
  • 不,始终以 UTF-8 无 BOM 编码;否则无法发送标头等。
  • @user2183216 因为您的文件显然保存为 ISO 8859-1。
  • 啊,我明白了,现在使用这个解决了 - 谢谢!
【解决方案2】:

如果您的文件是 UTF-8... 你可以试试utf8_encode
$IHaventReceivedCode = utf8_encode("Je n'ai pas reçu mon code");

或解码utf8_decode
$IHaventReceivedCode = utf8_decode("Je n'ai pas reçu mon code");

我很确定其中一个应该改变输出...

【讨论】:

    【解决方案3】:

    使用支持不同编码的文本编辑器。如果您使用的是记事本,请尝试切换到更复杂的文本编辑器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 2016-05-14
      • 2013-03-21
      • 2022-11-13
      相关资源
      最近更新 更多