2013-11-04 109 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