<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jz&#039;s blog &#187; 下载乱码</title>
	<atom:link href="http://www.imjz.org/archives/tag/%e4%b8%8b%e8%bd%bd%e4%b9%b1%e7%a0%81/feed" rel="self" type="application/rss+xml" />
	<link>http://www.imjz.org</link>
	<description>党说，这个可以访问！</description>
	<lastBuildDate>Thu, 15 Jul 2010 07:53:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>php下载文件乱码解决</title>
		<link>http://www.imjz.org/archives/58</link>
		<comments>http://www.imjz.org/archives/58#comments</comments>
		<pubDate>Wed, 21 Oct 2009 02:40:29 +0000</pubDate>
		<dc:creator>老毛</dc:creator>
				<category><![CDATA[Website]]></category>
		<category><![CDATA[php乱码]]></category>
		<category><![CDATA[下载乱码]]></category>

		<guid isPermaLink="false">http://www.imjz.org/archives/58</guid>
		<description><![CDATA[<p>公司的一个项目涉及上传下载文件的功能，之前使用都很正常的，不知什么原因，最近下载文件总乱码，以中文进入下载却可以正常下载。</p>
<p>一开始以为上传的时候把文件编码给改了，但即使上传下载在同语言环境下也会出现乱码。观察发现无论什么语言下上传，中文下载都不会乱码。排除上传的问题。</p>
<p>但下载的代码是都是同一个文件哈[......]</p><p class='read-more'><a href='http://www.imjz.org/archives/58'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>公司的一个项目涉及上传下载文件的功能，之前使用都很正常的，不知什么原因，最近下载文件总乱码，以中文进入下载却可以正常下载。</p>
<p>一开始以为上传的时候把文件编码给改了，但即使上传下载在同语言环境下也会出现乱码。观察发现无论什么语言下上传，中文下载都不会乱码。排除上传的问题。</p>
<p>但下载的代码是都是同一个文件哈，唯一的区别就是包含的资源文件不同，程序会根据语言常量自动包含当前语系的资源文件。会不会是资源文件的问题？</p>
<p>将所有资源文件替换为中文的资源文件，下载，没有乱码。</p>
<p>原来其它非中文的资源文件在编辑时编码被改变了。只需将文件编码改成与网站一致的即可。</p>
<p>“include”、“require”引入的文件在下载页面并没有输出任何内容，不知道为什么会引起乱码？</p>
<p>后记：</p>
<p>又查了下资料，原来是BOM(Byte Order Mark)惹的祸，保存为UTF-8格式的文本之后，有些编辑器会在文件头部加上BOM(Byte Order Mark)来标记多字节编码文件的编码类型和字节顺序，BOM标记会同字节流一起传到客户端。</p>
<p>值的注意的是：</p>
<p>Linux/UNIX 并没有使用 BOM，因为它会破坏现有的 ASCII 文件的语法约定。</p>
<p>使用Windows自带的记事本将文件保存为UTF-8编码的时候，记事本会自动在文件开头插入BOM（虽然BOM对UTF-8来说并不是必须的）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imjz.org/archives/58/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
