2013-11-22 30 views
-3

我有一個.php文件保存爲UTF-8,我想讓它打印出一個字符,例如:€如何在UTF-8文件上打印歐元(€)字符?

我該怎麼辦?

這是該示例的源代碼:

<?php 
header('Content-Type: text/html; charset=UTF-8'); 

echo "€"; 
?> 

該文件保存爲notepad++UTF-8當我執行該文件,它只是打印我出去「?」


回答

雖然這裏UTF-8 all the way through提供了答案fullfills UTF-8的各個方面,我找到了答案,我的問題Matthew註釋中。

.php文件保存爲UTF-8但帶有BOM。在Notepad ++中,我選擇了Format->「沒有BOM的UTF-8」,並且該腳本正常工作。

+0

如果文件確實以UTF-8編碼,這應該工作。你是在瀏覽器還是在命令行看這個? – deceze

+1

確保文件保存爲UTF8 wituout BOM:複製文件的內容,打開一個編碼爲UTF8的新文件,不帶BOM,粘貼並保存。 – Matthew

+0

雖然這裏提供的答案http://stackoverflow.com/questions/279170/utf-8-all-the-way- through填寫了UTF-8的各個方面,但我在Matthew評論中發現了我的問題的答案。 .php文件保存爲UTF-8但帶有BOM。使用記事本++我選擇格式 - > UTF-8沒有BOM和腳本工作。 – Scalax

回答

0

聽起來像文件中的歐元符號實際上是作爲Windows-1252或其他一些非UTF-8字符集(編碼)輸入的。 究竟是的輸入方式嗎?不要告訴我,你從Word文檔複製並粘貼它!

對於輸出到瀏覽器,請考慮使用&euro;代替 - 保證良好。如果它必須是一個硬編碼的二進制多字節字符,您必須仔細檢查您是否正在使用UTF-8模式進行編輯。我懷疑你不是。