<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[阿Tim日志]]></title> 
<link>https://atim.cn/index.php</link> 
<description><![CDATA[专业的php开发者.开发团队的带队人]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[阿Tim日志]]></copyright>
<item>
<link>https://atim.cn/post//</link>
<title><![CDATA[php编码的问题及解决办法]]></title> 
<author>bkkkd &lt;partybase@gmail.com&gt;</author>
<category><![CDATA[开发应用]]></category>
<pubDate>Tue, 18 Nov 2008 05:37:19 +0000</pubDate> 
<guid>https://atim.cn/post//</guid> 
<description>
<![CDATA[ 
	今天在一个群里有人说自己的程序回显时中文都是乱码，但我一直没有遇上这样的问题，<br/>所以我做一个测试<br/>1)ansii.php，保存的编码为ansi<br/><div class="code"><br/>&lt;?php<br/>header(&#039;Content-Type:text/html;charset=UTF8&#039;);<br/>$lang=&quot;测试编码&quot;;<br/>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br/>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br/>&lt;head&gt;<br/>&lt;base target=&quot;_blank&quot;&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF8&quot; /&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;?echo $lang;?&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/>运行后将会看到<br/><div class="code"><br/>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br/>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br/>&lt;head&gt;<br/>&lt;base target=&quot;_blank&quot;&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF8&quot; /&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>���Ա���&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/>2)把ansii.php另存为utf.php，保存的编码为utf-8<br/><div class="code"><br/>&lt;?php<br/>header(&#039;Content-Type:text/html;charset=UTF8&#039;);<br/>$lang=&quot;测试编码&quot;;<br/>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br/>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br/>&lt;head&gt;<br/>&lt;base target=&quot;_blank&quot;&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF8&quot; /&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;?echo $lang;?&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/>运行结果：<br/><div class="code"><br/>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br/>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br/>&lt;head&gt;<br/>&lt;base target=&quot;_blank&quot;&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF8&quot; /&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>测试编码&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/>3)把utf8.php中把charset=UTF8改成charset=GBK（共有两处),运行结果如下:<br/><div class="code"><br/>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br/>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br/>&lt;head&gt;<br/>&lt;base target=&quot;_blank&quot;&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=GBK&quot; /&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>娴嬭瘯缂栫爜&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/>从上面的结果可以看到php在加载php程序里会把里面的字符按照文件的编码记录到变量里的。所以当文件是ansii码保存时，变量里面的中文已经保存成ansii码方式。如果文件是utf8编码，变量里的中文都会变成utf8。<br/>所以当文件是某种编码时，却要使用另一种编码显示时，会出乱码。<br/><br/>解决方法：<br/>1）程序开发前，选定数据编码格式（包括程序文件，数据库），全部都需要统一。目前来做对于多个语言做得比较好的编码是UTF8<br/>2）程序里尽量不要有多字节文字（如:中文，日语），如果必须引用其它编码可以使用mb_detect_encoding()得到字符串的编码格式，然后再用mb_detect_encoding()转成你需要的编码格式。具体用法可以查看手册.<br/><br/>小知识：<br/>GBK在计算的里与CP936编码是同相的。<br/>Tags - <a href="https://atim.cn/tags/ansii/" rel="tag">ansii</a> , <a href="https://atim.cn/tags/utf8/" rel="tag">utf8</a> , <a href="https://atim.cn/tags/php/" rel="tag">php</a> , <a href="https://atim.cn/tags/%25E4%25B9%25B1%25E7%25A0%2581/" rel="tag">乱码</a>
]]>
</description>
</item><item>
<link>https://atim.cn/post//#blogcomment</link>
<title><![CDATA[[评论] php编码的问题及解决办法]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://atim.cn/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>