(抱歉我的英语不是很好)你好我有UTF-8问题。当我试图将文件转换为UTF-8时(当我使用session_start()时)我总是收到警告
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at...)
并且会话不起作用,因为输出从UTF-8开始。我来自立陶宛,我需要立陶宛字母(ą,č,ę,ė,į,š,ų,ū,ž)和其他编码(没有BOM,ANSI和其他的UTF-8)我不能写任何LT字母(因为字母将改为(Ä...Ä...Ä...ĨÄ-Ä-Ä-Ä-Ä-Ä-Ö«Ä-Ä«Ä«ÄÄÄÄÄı0))。但只有UTF-8没有BOM会话才有效。所以我的问题是:如何在 UTF-8无BOM 上使用LT字母或如何在 UTF-8 上使用会话?
答案 0 :(得分:0)
您可能在代码session_cache_limiter
函数中的某个位置使用。在文档中,您需要在session_start
之前使用它而不是之后使用它。
修改强>
如果我简单地使用您的代码:
<?php ob_start();
session_start(); ?>
<HTML> <HEAD> <LINK href="stilius.css" rel="stylesheet" type="text/css">
<title>Naujas Wapas be pavadinimo</title> </HEAD> <BODY>
<?php
echo "test";
没有显示警告,因此代码的其他部分必须出错。启动上述代码会发生什么?有没有错误或警告?
答案 1 :(得分:0)
如果您将文件保存为带有BOM的UTF-8,则浏览器可以识别编码。但是BOM不是发出内容是UTF-8编码信号的唯一方式,实际上是更糟糕的方法之一。您应该设置Content-Type
HTTP标头和<meta>
HTML元素,这两个元素都声明要以UTF-8编码的文档。然后,您可以在没有BOM的情况下保存文档,并且在任何PHP代码之前都不会输出,从而消除任何问题。
请参阅: