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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将Apache的默认编码更改为UTF-8?相关的知识,希望对你有一定的参考价值。

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

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

更新:另外,我发现它实际上使用的是HTML 3.2的DOCTYPE,因此根本没有字符集...因此它没有设置任何编码。但是有没有办法将其更改为使用UTF-8?

答案

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

AddDefaultCharset utf-8
另一答案

仅是提示,如果您在utf-8中使用长文件名:默认情况下,它们将缩短为20个字节,因此最后一个字符可能会被“切成两半”,因此无法正确识别。然后,您可能需要设置以下内容:

另一答案

只需将其留空:'default_charset' in WHM :::::: default_charset =''

另一答案

就我而言,添加到.htaccess

另一答案

将此添加到您的.htaccess

IndexOptions +Charset=UTF-8

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

AddDefaultCharset UTF-8

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

另一答案

请参见AddDefaultCharset DirectiveAddCharset Directivethis article

AddDefaultCharset utf-8

但是我必须使用汉字不时地。以前,我翻译过汉字转Unicode码和使用将其包括在文档中&#骇客。但这仅对包含几个字符的页面。

有一种更好的方法:将字符集信息编码在文件名,而apache将输出基于此的正确编码标头。这要归功于conf文件中的AddCharset行,例如下面的行:

conf/httpd.conf

AddCharset UTF-8 .utf8

因此,如果您有一个文件,名称以.html.utf8结尾,apache将提供页面,就像在页面中进行编码一样UTF-8,并将适当的转储字符编码指令标头。

另一答案

在.htaccess中添加此行:

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

这是针对那些无法访问其服务器的conf文件的用户。当其他尝试失败时,再尝试另一件事。

关于与.htaccess的使用有关的性能问题,我还没有看到。无论有没有.htaccess,我的典型页面加载时间都是150-200 mS]

如果页面无法正确呈现,性能会有什么好处。大多数共享服务器不允许用户访问配置文件,这是添加字符集的首选位置。

另一答案

AddDefaultCharset UTF-8放入/etc/apache2/conf.d/charset。实际上,它已经存在。您只需要通过删除前面的#来取消注释即可。

另一答案

我不确定您是否有权访问Apache配置(httpd.conf),但应该可以设置AddDefaultCharset指令。参见:

另一答案

这未经测试,但可能会起作用。

另一答案

为了完整起见,在Ubuntu 2上的Apache2上,您可以在conf-available的charset.conf中找到默认字符集。

另一答案

所有HTML文件都位于UTF-8中,并且没有内容类型的元标记的地方,我只能通过添加两个指令来设置这些文件的默认值,这些默认值将由Apache 2.4发送:

以上是关于如何将Apache的默认编码更改为UTF-8?的主要内容,如果未能解决你的问题,请参考以下文章

将PowerShell的默认输出编码更改为UTF-8

怎么把win10的txt文件将默认格式从UTF-8改为ANSI?

SQL SERVER 2008 如何将字符集更改为UTF-8

记事本默认编码改为UTF-8

eclipse.ini 修改默认编码为 UTF-8

sql 将字符集编码更改为数据库本身的UTF-8