如何将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 Directive,AddCharset Directive和this 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?的主要内容,如果未能解决你的问题,请参考以下文章
怎么把win10的txt文件将默认格式从UTF-8改为ANSI?