大家好我在phpinfo页面中发现charset是UTF-8。 Content-Type text / html;字符集= UTF-8 我想删除charset为null而无法更改php.ini文件是否可能。
答案 0 :(得分:3)
根据RFC 2616,“null charset”与ISO-8859-1相同:
当没有明确的charset参数时 由发件人,媒体提供 “文本”类型的子类型是 定义为具有默认字符集 收到时“ISO-8859-1”的值 通过HTTP。
将charset设置为ISO-8859-1与因此根本不设置任何字符集相同。但是,由于Google Chrome实现了这个错误(默认为UTF-8),您应该考虑将字符集显式设置为ISO-8859-1(或者您正在使用的字符集)。
答案 1 :(得分:2)
您可以在文件ini_set("default_charset", "");
答案 2 :(得分:1)
如果您有权限这样做,则可以基于每个脚本override INI settings。否则,您只需output an overriding header:header("Content-type: text/html; charset=ISO-8859-1");
或直接将其作为<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />
包含在HTML输出中,显然可以用您想要的任何内容替换ISO-8859-1。
答案 3 :(得分:1)
您可以输出标题来设置它:
header('Content-type: text/html; charset=YOUR_CHARSET');
如果你没有在这个标题中设置一个字符集,浏览器会尝试自己猜测哪个不推荐。在西方国家,大多数时候猜测将是ISO-8859-1或ISO-8859-15。
答案 4 :(得分:1)
header('Content-Type: text/html'); // note the absence of charset=
但请注意,没有“null charset”这样的东西,在字节和字符之间总是存在某种映射(即使ASCII是这样的映射,而不是自然秩序)。你正在做的是告诉浏览器“我不知道这是什么字符集,只是猜一猜” - 这可能会也可能不会选择真正的字符集。