4

我的 CodeIgniter 应用程序开始出现异常错误:

The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol.

在第一次访问时,页面看起来很好,只是一条消息“guimbu”。如果刷新页面,则会出现错误,直到您清除浏览器的历史记录。这仅在第二次页面查看后发生。看看: http: //guimbu.com/soon

  • 我刚刚用 Sublime 打开了所有文件并保存为 UTF-8;两次。
  • 我刚刚尝试了所有字符集元标记;
  • 这发生在所有页面上,包括这个简单的页面;

我的 autoload.php 有这个:

$autoload['packages'] = array();
$autoload['libraries'] = array('session', 'database', 'firephp', 'auth');
$autoload['helper'] = array('url', 'log_helper', 'api_helper', 'string_helper');
$autoload['config'] = array('ci_opauth', 'rest', 'ci_auth');
$autoload['language'] = array();
$autoload['model'] = array();

我该如何调试这个问题?

更新:

@sudhir,感谢您的回答,但我尝试了很多次。实际上源代码只是:

<!DOCTYPE html>
<head>
    <title>guimbu</title>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
    <meta content="utf-8" http-equiv="encoding">
</head>
<body>
    guimbu =)
</body>
</html>

并且在第二次页面查看后错误仍然存​​在=/也许会话有问题?

更新的可能性:

当我从autoload中删除sessionauth库时,问题不会发生。怎么回事?auth是我为用户身份验证制作的库。

4

3 回答 3

2

当您刷新该页面时,您会得到一个空白页面,如果您查看该页面的源代码,您会看到它是空白的,有一个数字计数。我的猜测是当页面刷新时你正在做一些事情,向浏览器发送一个空白。我只能建议不要关闭你的文件,?>让 php 处理你的脚本将如何退出/死亡。您的代码中有一些空格导致了这种情况。

于 2013-02-13T04:02:35.357 回答
1

尝试在视图的头部添加这些:

<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
于 2013-02-13T03:38:36.720 回答
0

找到解决方案

在 Session 类构造函数的第一行中,它加载了 String 帮助器。昨天我创建了一个名为string_helper.php的助手,这个冲突就是崩溃的应用程序。

我重命名了我的 string_helper.php 文件,现在一切正常。

谢谢大家!

于 2013-02-13T11:06:55.253 回答