<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-8328202695117976526</id><updated>2008-06-13T07:41:19.203-07:00</updated><title type='text'>KeepAccounts.com</title><link rel='alternate' type='text/html' href='http://blog.gooot.com/'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.gooot.com/atom.xml'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-7301752646391957071</id><published>2008-06-13T07:23:00.000-07:00</published><updated>2008-06-13T07:41:19.233-07:00</updated><title type='text'>【Graphic】how to start the first account! Apply to English (en) users.</title><content type='html'>1、Click into the “Voucher Input”。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.gooot.com/uploaded_images/file-771111.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: left; cursor: pointer;" src="http://blog.gooot.com/uploaded_images/file-771108.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2、Start the “Voucher Input” 。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.gooot.com/uploaded_images/file-771133.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: left; cursor: pointer;" src="http://blog.gooot.com/uploaded_images/file-771128.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Points:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The date of importation of empty or 0 is the “Opening” of data. &lt;/li&gt;&lt;li&gt;Voucher, for any characters, can neither be empty nor more than 24 bytes. &lt;/li&gt;&lt;li&gt;Abstract can not be chosen.&lt;/li&gt;&lt;li&gt;Remark also can not be filled. &lt;/li&gt;&lt;li&gt;If your browser supports JavaScript, click on the “Add a line” then you can enter the same token number of data.&lt;/li&gt;&lt;/ol&gt;</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2008/06/graphichow-to-start-first-account-apply.html' title='【Graphic】how to start the first account! Apply to English (en) users.'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=7301752646391957071' title='0 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/7301752646391957071'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/7301752646391957071'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-3275917325219945840</id><published>2008-03-02T08:07:00.000-08:00</published><updated>2008-03-02T08:15:05.850-08:00</updated><title type='text'>【圖解】如何開始第一筆賬！適用於繁體中文（zh-Hant）用戶。</title><content type='html'>&lt;p&gt;1、點擊進入“憑證錄入”。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.gooot.com/uploaded_images/file-733683.jpg" target="_blank"&gt;&lt;img style="cursor: pointer;" src="http://blog.gooot.com/uploaded_images/file-733679.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2、開始“憑證錄入”。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.gooot.com/uploaded_images/file-733708.jpg" target="_blank"&gt;&lt;img style="cursor: pointer;" src="http://blog.gooot.com/uploaded_images/file-733704.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;要點：&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;     日期輸入為空或者是0即為“期初”數據。&lt;/li&gt;&lt;li&gt;     憑證號可以為任何字符，不能為空、不能超過24字節。&lt;/li&gt;&lt;li&gt;     摘要可以不選擇。&lt;/li&gt;&lt;li&gt;     備註也可以不填寫。&lt;/li&gt;&lt;li&gt;     如果瀏覽器支持JavaScript，點擊“增加一行”可以在同一憑證輸入多條數據。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2008/03/zh-hant.html' title='【圖解】如何開始第一筆賬！適用於繁體中文（zh-Hant）用戶。'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=3275917325219945840' title='0 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/3275917325219945840'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/3275917325219945840'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-2148992872497941678</id><published>2008-03-02T07:53:00.000-08:00</published><updated>2008-03-02T08:06:23.709-08:00</updated><title type='text'>【图解】如何开始第一笔账！适用于简体中文（zh-Hans）用户。</title><content type='html'>&lt;p&gt;1、点击进入“凭证录入”。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.gooot.com/uploaded_images/file-781652.jpg" target="_blank"&gt;&lt;img style="cursor: pointer;" src="http://blog.gooot.com/uploaded_images/file-781649.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2、开始“凭证录入”。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.gooot.com/uploaded_images/file-781676.jpg" target="_blank"&gt;&lt;img style="cursor: pointer;" src="http://blog.gooot.com/uploaded_images/file-781668.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;要点：&lt;/p&gt; &lt;ul&gt;&lt;li&gt;日期输入为空或者是0即为“期初”数据。&lt;/li&gt;&lt;li&gt;凭证号可以为任何字符，不能为空、不能超过24字节。&lt;/li&gt;&lt;li&gt;摘要可以不选择。&lt;/li&gt;&lt;li&gt;备注也可以不填写。&lt;br /&gt;&lt;/li&gt;&lt;li&gt;如果浏览器支持JavaScript，点击“增加一行”可以在同一凭证输入多条数据。&lt;/li&gt;&lt;/ul&gt;</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2008/03/zh-hans.html' title='【图解】如何开始第一笔账！适用于简体中文（zh-Hans）用户。'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=2148992872497941678' title='0 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/2148992872497941678'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/2148992872497941678'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-1933334400002131484</id><published>2008-01-01T06:45:00.000-08:00</published><updated>2008-01-02T03:28:05.165-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='源代码'/><title type='text'>农历源代码及演示</title><content type='html'>本程序从JavaScript版修改过来。由于PHP时间限制原因：&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54        到 2038 年 1 月 19 日 03:14:07。（此范围符合 32        位有符号整数的最小值和最大值）。在 Windows 系统中此范围限制为从 1970 年 1 月 1 日到        2038 年 1 月 19 日。&lt;/blockquote&gt;起始和结束的时间看系统时间。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gooot.com/lunar_calendar.php"&gt;演示&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.gooot.com/uploaded_files/LC.zip"&gt;下载&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2008/01/blog-post.html' title='农历源代码及演示'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=1933334400002131484' title='0 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/1933334400002131484'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/1933334400002131484'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-1560232316824334017</id><published>2007-12-25T06:30:00.000-08:00</published><updated>2007-12-25T06:47:16.327-08:00</updated><title type='text'>关于域名</title><content type='html'>“在线记账”从2004年开始至今，最早的域名是Gooot.com，2007年开始才将域名改为KeepAccounts.com（Keep Accounts == 记账）。&lt;br /&gt;&lt;br /&gt;为了一些人的访问习惯，Gooot.com域名仍然可以使用，将重定向到KeepAccounts.com。&lt;br /&gt;&lt;br /&gt;另外，我们还有一部分域名都可以重定向到KeepAccounts.com，他们都是与Keep Accounts相关的。&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;freekeepaccounts.com&lt;/li&gt;&lt;li&gt;free-keepaccounts.com&lt;/li&gt;&lt;li&gt;freekeep-accounts.com&lt;/li&gt;&lt;li&gt;free-keep-accounts.com&lt;/li&gt;&lt;li&gt;freeonlinekeepaccounts.com&lt;/li&gt;&lt;li&gt;free-online-keep-accounts.com&lt;/li&gt;&lt;li&gt;keep-account.com&lt;/li&gt;&lt;li&gt;keep-accounts.com&lt;/li&gt;&lt;li&gt;keepaccounts.net&lt;/li&gt;&lt;li&gt;keepaccounts.org&lt;/li&gt;&lt;li&gt;mykeepaccounts.com&lt;/li&gt;&lt;li&gt;my-keepaccounts.com&lt;/li&gt;&lt;li&gt;mykeep-accounts.com&lt;/li&gt;&lt;li&gt;my-keep-accounts.com&lt;/li&gt;&lt;li&gt;myonlinekeepaccounts.com&lt;/li&gt;&lt;li&gt;my-online-keep-accounts.com&lt;/li&gt;&lt;li&gt;onlinekeepaccount.com&lt;/li&gt;&lt;li&gt;online-keep-account.com&lt;/li&gt;&lt;li&gt;onlinekeepaccounts.com&lt;/li&gt;&lt;li&gt;online-keepaccounts.com&lt;/li&gt;&lt;li&gt;onlinekeep-accounts.com&lt;/li&gt;&lt;li&gt;online-keep-accounts.com&lt;/li&gt;&lt;li&gt;onlinekeepaccounts.net&lt;/li&gt;&lt;li&gt;online-keep-accounts.net&lt;/li&gt;&lt;li&gt;onlinekeepaccounts.org&lt;/li&gt;&lt;li&gt;online-keep-accounts.org&lt;/li&gt;&lt;/ol&gt;</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2007/12/blog-post_25.html' title='关于域名'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=1560232316824334017' title='0 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/1560232316824334017'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/1560232316824334017'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-4465742134330873462</id><published>2007-12-13T02:22:00.000-08:00</published><updated>2007-12-13T22:34:17.350-08:00</updated><title type='text'>UTF-8如何转Unicode?</title><content type='html'>先转一篇来参考.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;什么是 Unicode?&lt;br /&gt;&lt;br /&gt;历史上, 有两个独立的, 创立单一字符集的尝试. 一个是国际标准化组织(ISO)的 ISO 10646 项目, 另一个是由(一开始大多是美国的)多语言软件制造商组成的协会组织的 Unicode 项目. 幸运的是, 1991年前后, 两个项目的参与者都认识到, 世界不需要两个不同的单一字符集. 它们合并双方的工作成果, 并为创立一个单一编码表而协同工作. 两个项目仍都存在并独立地公布各自的标准, 但 Unicode 协会和 ISO/IEC JTC1/SC2 都同意保持 Unicode 和 ISO 10646 标准的码表兼容, 并紧密地共同调整任何未来的扩展.&lt;br /&gt;什么是 UTF-8?&lt;br /&gt;&lt;br /&gt;首先 UCS 和 Unicode 只是分配整数给字符的编码表. 现在存在好几种将一串字符表示为一串字节的方法. 最显而易见的两种方法是将 Unicode 文本存储为 2 个 或 4 个字节序列的串. 这两种方法的正式名称分别为 UCS-2 和 UCS-4. 除非另外指定, 否则大多数的字节都是这样的(Bigendian convention). 将一个 ASCII 或 Latin-1 的文件转换成 UCS-2 只需简单地在每个 ASCII 字节前插入 0x00. 如果要转换成 UCS-4, 则必须在每个 ASCII 字节前插入三个 0x00.&lt;br /&gt;&lt;br /&gt;在 Unix 下使用 UCS-2 (或 UCS-4) 会导致非常严重的问题. 用这些编码的字符串会包含一些特殊的字符, 比如 '\0' 或 '/', 它们在 文件名和其他 C 库函数参数里都有特别的含义. 另外, 大多数使用 ASCII 文件的 UNIX 下的工具, 如果不进行重大修改是无法读取 16 位的字符的. 基于这些原因, 在文件名, 文本文件, 环境变量等地方, UCS-2 不适合作为 Unicode 的外部编码.&lt;br /&gt;&lt;br /&gt;在 ISO 10646-1 Annex R 和 RFC 2279 里定义的 UTF-8 编码没有这些问题. 它是在 Unix 风格的操作系统下使用 Unicode 的明显的方法.&lt;br /&gt;&lt;br /&gt;UTF-8 有一下特性:&lt;br /&gt;&lt;br /&gt;* UCS 字符 U+0000 到 U+007F (ASCII) 被编码为字节 0x00 到 0x7F (ASCII 兼容). 这意味着只包含 7 位 ASCII 字符的文件在 ASCII 和 UTF-8 两种编码方式下是一样的.&lt;br /&gt;* 所有 &gt;U+007F 的 UCS 字符被编码为一个多个字节的串, 每个字节都有标记位集. 因此, ASCII 字节 (0x00-0x7F) 不可能作为任何其他字符的一部分.&lt;br /&gt;* 表示非 ASCII 字符的多字节串的第一个字节总是在 0xC0 到 0xFD 的范围里, 并指出这个字符包含多少个字节. 多字节串的其余字节都在 0x80 到 0xBF 范围里. 这使得重新同步非常容易, 并使编码无国界, 且很少受丢失字节的影响.&lt;br /&gt;* 可以编入所有可能的 231个 UCS 代码&lt;br /&gt;* UTF-8 编码字符理论上可以最多到 6 个字节长, 然而 16 位 BMP 字符最多只用到 3 字节长.&lt;br /&gt;* Bigendian UCS-4 字节串的排列顺序是预定的.&lt;br /&gt;* 字节 0xFE 和 0xFF 在 UTF-8 编码中从未用到.&lt;br /&gt;&lt;br /&gt;下列字节串用来表示一个字符. 用到哪个串取决于该字符在 Unicode 中的序号.&lt;br /&gt;U-00000000 - U-0000007F:         0xxxxxxx&lt;br /&gt;U-00000080 - U-000007FF:         110xxxxx 10xxxxxx&lt;br /&gt;U-00000800 - U-0000FFFF:         1110xxxx 10xxxxxx 10xxxxxx&lt;br /&gt;U-00010000 - U-001FFFFF:         11110xxx 10xxxxxx 10xxxxxx 10xxxxxx&lt;br /&gt;U-00200000 - U-03FFFFFF:         111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx&lt;br /&gt;U-04000000 - U-7FFFFFFF:         1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx&lt;br /&gt;&lt;br /&gt;xxx 的位置由字符编码数的二进制表示的位填入. 越靠右的 x 具有越少的特殊意义. 只用最短的那个足够表达一个字符编码数的多字节串. 注意在多字节串中, 第一个字节的开头"1"的数目就是整个串中字节的数目.&lt;br /&gt;&lt;br /&gt;例如: Unicode 字符 U+00A9 = 1010 1001 (版权符号) 在 UTF-8 里的编码为:&lt;br /&gt;&lt;br /&gt;11000010 10101001 = 0xC2 0xA9&lt;br /&gt;&lt;br /&gt;而字符 U+2260 = 0010 0010 0110 0000 (不等于) 编码为:&lt;br /&gt;&lt;br /&gt;11100010 10001001 10100000 = 0xE2 0x89 0xA0&lt;br /&gt;&lt;br /&gt;这种编码的官方名字拼写为 UTF-8, 其中 UTF 代表 UCS Transformation Format. 请勿在任何文档中用其他名字 (比如 utf8 或 UTF_8) 来表示 UTF-8, 当然除非你指的是一个变量名而不是这种编码本身.&lt;br /&gt;什么编程语言支持 Unicode?&lt;br /&gt;&lt;br /&gt;在大约 1993 年之后开发的大多数现代编程语言都有一个特别的数据类型, 叫做 Unicode/ISO 10646-1 字符. 在 Ada95 中叫 Wide_Character, 在 Java 中叫 char.&lt;br /&gt;&lt;br /&gt;ISO C 也详细说明了处理多字节编码和宽字符 (wide characters) 的机制, 1994 年 9 月 Amendment 1 to ISO C 发表时又加入了更多. 这些机制主要是为各类东亚编码而设计的, 它们比处理 UCS 所需的要健壮得多. UTF-8 是 ISO C 标准调用多字节字符串的编码的一个例子, wchar_t 类型可以用来存放 Unicode 字符. &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;这个问题已经解决了，这个问题主要是针对“CSV”的问题。&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href="http://www.keepaccounts.com/FAQ.php?hl=GB2312#CSV" name="CSV"&gt;CSV&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;导出数据为以“逗号分隔”的CSV文件，可以用 Microsoft Office Excel 打开。&lt;/li&gt;&lt;li&gt;但 Microsoft 一向以“没头脑”著称，这次也不例外，因为导出的CSV文件是UTF-8的文件，Excel 打开时是乱码。麻烦你要先把CSV文件转换成 ANSI，如果你的操作系统是 WIN98 以上，直接用“记事本”打开另存为 ANSI 即可。&lt;/li&gt;&lt;li&gt;Microsoft 好象一向和 UTF-8 不和。&lt;/li&gt;&lt;li&gt;具体的 CSV 文件如何操作，你自己去掌握吧。&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;解决问题的方法是：&lt;br /&gt;&lt;br /&gt;CSV不支持“UTF-8”，但是支持“Unicode”，在WIN下我们测试将“.CSV”文件用“记事本”打开另存为 ANSI、Unicode，Microsoft Office Excel 都可以正确识别打开，UTF-8、Unicode big enbian却不行。&lt;br /&gt;&lt;br /&gt;KeepAccounts.com是多语言的网站，ANSI编码不可取。Unicode是可以的。&lt;br /&gt;&lt;br /&gt;Unicode是“UTF-16LE”，我可以通过：&lt;br /&gt;mb_convert_encoding($str, "UTF-16LE", "UTF-8")&lt;br /&gt;或者&lt;br /&gt;iconv("UTF-8", "UTF-16LE", $str)&lt;br /&gt;将UTF-8转换为Unicode。&lt;br /&gt;&lt;br /&gt;但是问题还没有解决，Microsoft Office Excel 打开转换为Unicode编码的“.CSV”文件却依然是乱码，为什么呢？？&lt;br /&gt;&lt;br /&gt;参考上篇文章我们可以得知，WIN可以识别UTF-8，却不能识别Unicode，所以要在头部加BOM，不知道什么是BOM吗？？自己去搜索下就知道了。&lt;br /&gt;&lt;br /&gt;实际我们在WIN里建立一个空的UTF-8编码的文本和Unicode编码的文本，还有ANSI编码的文本就会发现，都是空的文本，除了ANSI编码的是0字节，UTF-8编码的文本是3字节，Unicode编码的文本是2字节。这些就是BOM，就是WIN系统用来正确识别文本编码的信息。但是UTF-8编码的文本不用BOM，WIN也可以识别。Unicode编码的文本却不行，所以我开始就一直在这个问题上纠缠。知道了问题就可以解决问题了。不是没有BOM吗？那就自己加啊。&lt;br /&gt;&lt;br /&gt;$T_text = '要输出的CSV文件';&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;header('Cache-control: private');&lt;br /&gt;header('Content-Disposition: attachment; filename=test.csv');&lt;br /&gt;&lt;br /&gt;if(function_exists('mb_convert_encoding'))&lt;br /&gt;{&lt;br /&gt; header('Content-type: text/csv; charset=UTF-16LE');&lt;br /&gt; echo(chr(255).chr(254));&lt;br /&gt; echo(mb_convert_encoding($T_text,"UTF-16LE","UTF-8"));&lt;br /&gt;}&lt;br /&gt;elseif(function_exists('iconv'))&lt;br /&gt;{&lt;br /&gt; header('Content-type: text/csv; charset=UTF-16LE');&lt;br /&gt; echo(chr(255).chr(254));&lt;br /&gt; echo(iconv("UTF-8","UTF-16LE",$T_text));&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt; header('Content-type: text/csv; charset=UTF-8');&lt;br /&gt; echo(chr(239).chr(187).chr(191));&lt;br /&gt; echo($T_text);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;这样问题就解决了。多国语言（UTF-8）网站输出.CSV文件乱码的问题就解决了。&lt;br /&gt;&lt;br /&gt;再补充一点：就是Unicode编码的.CSV文件可能不支持“,”分割，请用“\t”空格来分割。以上方法针对WIN2000。&lt;br /&gt;&lt;br /&gt;再多说一点，现在很多人都在开发多语言网站，许多都是使用UTF-8编码来设计语言。但是在WIN2000下用记事本（我编程序都是用记事本的）来编写的文件转为UTF-8编码后再输出header后就会出错。问题就是BOM，我们要把它删除就OK了。&lt;br /&gt;&lt;br /&gt;a.php，放在UTF-8编码的文件夹下面执行就可以了。（可能要权限支持）&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;//此文件用于快速测试UTF8编码的文件是不是加了BOM，并可自动移除&lt;br /&gt;//By Bob Shen&lt;br /&gt;&lt;br /&gt;$basedir = "."; //修改此行为需要检测的目录，点表示当前目录&lt;br /&gt;$auto = 1; //是否自动移除发现的BOM信息。1为是，0为否。&lt;br /&gt;&lt;br /&gt;//以下不用改动&lt;br /&gt;&lt;br /&gt;if($dh = opendir($basedir))&lt;br /&gt;{&lt;br /&gt;  while(($file = readdir($dh)) !== false)&lt;br /&gt;  {&lt;br /&gt;    if($file != '.'&lt;br /&gt;        &amp;&amp; $file != '..'&lt;br /&gt;        &amp;&amp; !is_dir($basedir."/".$file))&lt;br /&gt;      echo("filename: $file ".checkBOM("$basedir/$file")."&lt;br&gt;");&lt;br /&gt;  }&lt;br /&gt;  closedir($dh);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function checkBOM($filename)&lt;br /&gt;{&lt;br /&gt;  global $auto;&lt;br /&gt;  $contents = file_get_contents($filename);&lt;br /&gt;  $charset[1] = substr($contents, 0, 1);&lt;br /&gt;  $charset[2] = substr($contents, 1, 1);&lt;br /&gt;  $charset[3] = substr($contents, 2, 1); &lt;br /&gt;  if(ord($charset[1]) == 239&lt;br /&gt;      &amp;&amp; ord($charset[2]) == 187&lt;br /&gt;      &amp;&amp; ord($charset[3]) == 191)&lt;br /&gt;  {&lt;br /&gt;    if($auto == 1)&lt;br /&gt;    {&lt;br /&gt;      $rest = substr($contents, 3);&lt;br /&gt;      rewrite($filename, $rest);&lt;br /&gt;      return("BOM found, automatically removed.");&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;      return("BOM found.");&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  else return("BOM Not Found.");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function rewrite($filename, $data)&lt;br /&gt;{&lt;br /&gt;  $filenum = fopen($filename, "w");&lt;br /&gt;  flock($filenum, LOCK_EX);&lt;br /&gt;  fwrite($filenum, $data);&lt;br /&gt;  fclose($filenum);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2007/12/utf-8unicode.html' title='UTF-8如何转Unicode?'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=4465742134330873462' title='0 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/4465742134330873462'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/4465742134330873462'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-4874502024606331641</id><published>2007-12-10T12:59:00.001-08:00</published><updated>2007-12-10T13:00:44.622-08:00</updated><title type='text'>img test</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.gooot.com/uploaded_images/mogu2-701702.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://blog.gooot.com/uploaded_images/mogu2-701699.jpg" border="0" alt="" /&gt;&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2007/12/img-test.html' title='img test'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=4874502024606331641' title='0 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/4874502024606331641'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/4874502024606331641'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-6821862667079946613</id><published>2007-12-10T12:28:00.000-08:00</published><updated>2007-12-10T12:56:29.536-08:00</updated><title type='text'></title><content type='html'>Yesterday evening, before hitting the asphalt back home, I visited the AH store beneath the parking-lot, where these two young people, armed with a video-camera and blossoming smiles, tried to capture passers-by.&lt;br /&gt;Normally I would prefer having my head chopped off before ... errr ... .&lt;br /&gt;She didn't have any pigtails, but ... well ... you know, there was a welcoming sight - countenance and appearance!&lt;br /&gt;She did have that kind of 'Lonneke Engel' pinnule and posture. Not at all that perfect, so perchance even more graceful!&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(191, 185, 168); padding: 25px; background: transparent url(http://blog.gooot.com/uploaded_images/ces503_760.jpg) no-repeat scroll center 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;img src="http://blog.gooot.com/uploaded_images/le_1_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_2_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_3_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_4_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_5_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_6_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_7_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_8_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_9_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_31_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_10_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_11_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_12_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_13_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_14_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_15_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_16_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_17_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_18_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_19_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_20_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_21_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_22_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;img src="http://blog.gooot.com/uploaded_images/le_23_s.jpg" style="border:0px;margin:0px;padding:0px;"&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Reflecting on the subject I told them I really wasn't the man they wanted. They acceded this truth quickly enough but we kept chatting for a while - both guy and girl very relaxed, noticeably enjoying their little project.&lt;br /&gt;&lt;br /&gt;They probably have wiped this Ugly Faustus Face already, for all that</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2007/12/yesterday-evening-before-hitting.html' title=''/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=6821862667079946613' title='0 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/6821862667079946613'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/6821862667079946613'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8328202695117976526.post-5593292666274651937</id><published>2007-12-10T05:08:00.000-08:00</published><updated>2007-12-10T05:09:58.264-08:00</updated><title type='text'>测试</title><content type='html'>现在很流行为组织写BLOG，我也帮“在线记账”来一个BLOG。&lt;br /&gt;&lt;br /&gt;先测试一个！</content><link rel='alternate' type='text/html' href='http://blog.gooot.com/2007/12/blog-post.html' title='测试'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8328202695117976526&amp;postID=5593292666274651937' title='6 条评论'/><link rel='replies' type='application/atom+xml' href='http://blog.gooot.com/atom.xml' title='帖子评论'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/5593292666274651937'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328202695117976526/posts/default/5593292666274651937'/><author><name>David.Wang</name><uri>http://www.blogger.com/profile/18204247400205440707</uri><email>noreply@blogger.com</email></author></entry></feed>