设置编码的通常是三个地方
- Apache 2. HTML页面 3. 标签指定
有时候会遇见这样的问题:html页面的编码是utf-8,apache默认设置是gbk,这就会出现一个优先级的问题,
经过测试优先级是这样的:apache > html,但是如果在header()
函数中指定的话,header函数的优先级最高:
apache优先级较高
html:
<meta charset='utf-8' />
apache:
DefaultCharset:gbk
php优先级较高
html:
<meta charset='utf-8' />
apache:
DefaultCharset:gbk
php:
header('Content-type=text/html; charset=utf-8');
如果页面的编码是gbk,但引用的js编码是utf-8的话怎么办呢?两种方案:
方案1:
front:
<script src="/asset/outerjs.php"></script>
backend:
file:asset/outerjs.php
<?php
$script = file_get_contents("http://xxxx.com/outer.js");
header('Content-type:text/javascript; charset=utf-8');
echo $script;
?>
方案2:
<script src="http://xxxx.com/outer.js" charset='utf-8'></script>