2013-11-04 108 views
3

我有一臺自我託管的服務器,在Debian(raspbian wheezy)機器上運行nginx和PHP5-fpm。UTF-8無法正常工作nginx

我的問題是UTF-8特殊字符(åäö)無法正常工作。我在網站的頭部設置了<meta charset="utf-8">。所有文件都使用utf-8編碼,無需BOM。

正如Fleshgrinder的回答所建議,我已將charset utf-8;添加到nginx.conf中,但沒有結果。

我該如何解決這個問題?

回答

7

您的文件也必須使用UTF-8格式,並且您發送的HTTP標題比元標記更重要。

要通過nginx的交付使用UTF-8編碼(HTTP標頭)的所有內容做到以下幾點:

# /etc/nginx/nginx.conf 

http { 
    charset utf-8; 
} 

但重要的是,你的文件實際上在UTF-8編碼的任何東西上班。一個好的編輯器(例如Notepad2,Notepad ++,NetBeans IDE,Adobe Dreamweaver等)允許您更改文件的編碼。

+0

是的,這些文件都是沒有BOM的utf-8。在nginx.conf中添加'charset utf-8;'並沒有解決問題。我會把這個添加到問題中。 「你發送的HTTP頭文件」究竟是什麼意思?我是小白。 – justanotherhobbyist

+0

Nevermind,google'd它並設置'<?php header('Content-type:text/html; charset = utf-8'); ?>在文件頂部固定它。謝謝您的幫助。 – justanotherhobbyist

+0

你也可以在'php.ini'中設置'default_charset = utf-8'。很高興我來自幫助。 – Fleshgrinder