如何将默认编码更改为UTF-8的Apache?

我正在使用托pipe公司,如果文件index.html不存在,它将列出目录中的文件,它使用iso-8859-1作为默认编码。

如果服务器是Apache,是否有办法将UTF-8设置为默认值?

更新:此外,我发现它实际上是使用HTML 3.2的DOCTYPE,然后根本没有字符集…所以它没有设置任何编码。 但有没有办法改变它使用UTF-8?

在httpd.conf中添加(如果已经存在,则更改):

 AddDefaultCharset utf-8 

把这个添加到你的.htaccess

 IndexOptions +Charset=UTF-8 

或者,如果您拥有pipe理员权限,则可以通过编辑httpd.conf并添加以下内容来全局设置它:

 AddDefaultCharset UTF-8 

(您也可以在.htaccess使用AddDefaultCharset ,但不会以这种方式影响Apache生成的目录列表。)

请参阅AddDefaultCharset指令 , AddCharset指令和本文 。

 AddDefaultCharset utf-8 

但我必须不时地使用中文字。 以前,我将中文字符翻译成Unicode代码,并使用&# hack将它包含在文档中。 但它只对有几个字符的页面有用。

有一个更好的方法来做到这一点:编码字符集信息的文件名,和Apache将输出正确的编码标题的基础上。 这可能要归功于conf文件中的AddCharset行,比如下面这行:

conf/httpd.conf

 AddCharset UTF-8 .utf8 

所以如果你有一个名字以.html.utf8结尾的文件,apache将会像使用UTF-8编码一样提供页面,并且相应地在头文件中转储正确的字符编码指令。

AddDefaultCharset UTF-8放入/etc/apache2/conf.d/charset 。 事实上,它已经在那里了。 你只需要通过删除前面的#来取消注释。

在.htaccess中添加这一行:

 AddCharset utf-8 .html .css .php .txt .js 

我不确定您是否有权访问Apacheconfiguration(httpd.conf),但您应该能够设置AddDefaultCharset指令。 看到:

http://httpd.apache.org/docs/2.0/mod/core.html

查找mod_mime.c模块并确保设置了以下内容:

 AddDefaultCharset utf-8 

或等效的Apache 1.x文档( http://httpd.apache.org/docs/1.3/mod/core.html#adddefaultcharset )。

但是,这仅适用于“响应内容types为text / plain或text / html”的情况。

你也应该确保你的页面也有一个字符集。 查看更多信息:

http://www.w3.org/TR/REC-html40/charset.html

这是未经testing,但可能会工作。

在你的.htaccess文件中加上:

 <Files ~ "\.html?$"> Header set Content-Type "text/html; charset=utf-8" </Files> 

但是,这将需要服务器上的mod_headers。

为了完整起见,在Ubuntu上的Apache2上,你可以在charset.conf中find默认的字符集。

取消注释该行

 AddDefaultCharset UTF-8 

如果所有的HTML文件都是UTF-8,并且没有内容types的元标记,那么我只能通过添加这两个指令来设置Apache 2.4发送这些文件所需的默认值:

 AddLanguage ru .html AddCharset UTF-8 .html 

如果你在utf-8中有很长的文件名,只需要提示一下:默认情况下,它们会缩短为20个字节,所以最后一个字符可能会被“减半”,因此无法正确识别。 那么你可能想要设置以下内容:

IndexOptions Charset=UTF-8 NameWidth=*

NameWidth设置将防止缩短文件名,使其正确显示和可读。

正如其他用户已经提到的,这应该添加在httpd.confapache2.conf (如果你有pipe理员权限)或.htaccess (如果你不)。

只要把它留空即可: 'default_charset' in WHM :::::: default_charset =''

PS – 在WHM去——–)首页»服务configuration»PHPconfiguration编辑器—-)单击“高级模式”—-)find“default_charset”,并保持空白—-只是什么都不是,不是utf8,不是ISO