【问题标题】:Character encoding problem UTF8字符编码问题 UTF8
【发布时间】:2011-03-12 06:58:26
【问题描述】:

这是我的 index.php

<?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf8">

  </head>
  <body>

    <center>
        some special character: éá
    </center>
  </body>
</html>

这就是它在浏览器中的样子:一些特殊字符:ĂŠĂĄ

如果在 Notepad++ 中我将它设置为转换为 UTF-8,那么文本看起来应该是这样,但是由于 BOM 字符,我有“无法发送会话 cookie - 标头已发送”警告说明。如果我在 Notepad++ 中将字符编码设置为“无 BOM”,那么字符会再次混乱。

【问题讨论】:

  • 另存为 UTF-8 w/o BOM。这应该得到编辑的支持。
  • &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt; 您缺少- 字符。
  • @Kevin 如果我在 Notepad++ 中将字符编码设置为“无 BOM”,那么字符会再次混乱。
  • @Jaroslav Jandek 我试过了,但没有任何区别
  • 很抱歉我没听清楚。不过,我不知道该告诉你什么。如果 Notepad++ 在不使用 BOM 的情况下无法正确编码页面,那么您需要找到另一个选项。

标签: html session utf-8 character


【解决方案1】:

将文件转换为不带 BOM 的 UTF-8,然后 将此行添加到我们的 php 文件的第一行。

&lt;?php header('content-type: text/html; charset: utf-8'); ?&gt;

我希望这会对你有所帮助。

【讨论】:

  • 不幸的是对我有所帮助。不要忘记在没有 BOM 的情况下转换 UTF-8。而不是只更改字符集。
  • 我的代码现在看起来和你的一模一样。我都尝试了相同的结果:一些特殊字符:ĂŠĂĄ。这个谜让我抓狂!!
  • 我不知道你的问题是什么。对我来说,这也适用于 ĂŠĂĄ。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多