<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>BOM (Byte Order Mark) 的問題</title>
<link>http://blog.roodo.com/jaceju/archives/1100799.html/</link>
<description><![CDATA[如果在 Smarty 中 include 了 UTF-8 格式的檔案，就要小心 BOM (Byte Order Mark) 的問題。
BOM 的由來簡單來說是為了讓一些編輯程式能夠辨認該檔案是不是屬於 Unicode 格式，請參考 憤怒的青蛙: UTF-8, BOM, Micrisoft ，或用 Google 搜尋 UTF-8 BOM ，有更多有用的訊息。
那麼為什麼 BOM 會造成影響呢？因為 BOM 對 HTML 來說是屬於字元，所以 include UTF-8 的檔案時，HTML 就會就會認為被 include 的子樣版上方有個字元，因此就會保留一個空間給它了，就是你們看到那個白白的空行。
補充：這個空白行似乎只有 IE 才會出現。
這種問題也會發生在 PHP 上面，如果有使用 Session 時，常會見到以下情況：
Warning: session_start() [http://www.php.net/manual/en/function.session-start]:
 Cannot send session cookie -
 headers already sent by (output started at test.php:1) in test.php on line 2
而這也是 BOM 在做怪，原程式如下：
(BOM在這裡，但你看不見它)&lt;?php
session_start();
?&gt; 
解決的方式可以改用 EditPlus 、 EmEdit 等可支援無 BOM 之 UTF-8 的文字編輯器，如果是 Dreamweaver MX 2004 的話，在編碼方式選成 Unicode (UTF-8) 時就要將取消「包含 Unicode 簽名 (BOM) 」。 

]]>
	</description>
<language>zh-tw</language>
<generator>Roodo Blog System</generator>
<copyright>All Rights Reserved</copyright>
<atom:link href="http://blog.roodo.com/jaceju/archives/1100799-comment.xml" rel="self" type="application/rss+xml" />
<item>
	<title>回應：BOM (Byte Order Mark) 的問題</title>
	<description><![CDATA[剛好看到有人寫了一支<a href='http://www.aman.38.com/phpnuke/modules.php?name=EZCMS&menu=15&page_id=14' rel='nofollow'>UTF-8文件BOM檢測移除</a>
處理整批檔案時滿方便的，如果能跑php可以參考看看。]]>
	</description>
	<link>http://blog.roodo.com/jaceju/archives/1100799.html</link>
	<guid>http://blog.roodo.com/jaceju/archives/1100799.html#comment-4558869</guid>
		<category>文章回應</category>
	<pubDate>Tue, 17 Oct 2006 12:01:45 +0800</pubDate>
</item>
</channel>
</rss>