nop*_*ole 131 apache character-encoding apache-config
我正在使用托管公司,如果文件index.html不存在,它将列出目录中的文件,它使用iso-8859-1作为默认编码.
如果服务器是Apache,有没有办法将UTF-8设置为默认值?
更新:另外我发现它实际上是使用HTML 3.2的DOCTYPE,然后根本就没有字符集...所以它没有设置任何编码.但有没有办法改变它使用UTF-8?
Mar*_*odF 166
在httpd.conf中添加(或者如果它已经存在则更改):
AddDefaultCharset utf-8
Run Code Online (Sandbox Code Playgroud)
Mat*_*ens 52
将此添加到您的.htaccess:
IndexOptions +Charset=UTF-8
Run Code Online (Sandbox Code Playgroud)
或者,如果您具有管理员权限,则可以通过编辑httpd.conf和添加来全局设置:
AddDefaultCharset UTF-8
Run Code Online (Sandbox Code Playgroud)
(您可以用AddDefaultCharset在.htaccess太,但它不会影响到Apache的生成的目录列表的方式.)
Eug*_*ota 24
请参阅AddDefaultCharset指令,AddCharset指令和本文.
AddDefaultCharset utf-8
Run Code Online (Sandbox Code Playgroud)
但我不得不时不时地使用汉字.以前,我将中文字符翻译成Unicode代码,并使用
&#hack 将其包含在文档中 .但它仅对具有少量字符的页面有用.有一种更好的方法:编码文件名中的字符集信息,apache将根据它输出正确的编码标题.这可以归功于
AddCharsetconf文件中的行,例如下面的行:
conf/httpd.conf:
AddCharset UTF-8 .utf8
Run Code Online (Sandbox Code Playgroud)
因此,如果您有一个名称以文件结尾的文件
.html.utf8,则apache将为该页面提供服务,就像它以UTF-8编码一样,并相应地在标头中转储正确的字符编码指令.
Mis*_*ood 22
在.htaccess中添加以下行:
AddCharset utf-8 .html .css .php .txt .js
Run Code Online (Sandbox Code Playgroud)
这适用于那些无法访问其服务器的conf文件的人.当其他尝试失败时,尝试再做一件事.
至于使用.htaccess的性能问题,我还没有看到这个.我的典型页面加载时间为150-200 mS,有或没有.htaccess
如果您的页面无法正确呈现,那么性能会有什么好处.大多数共享服务器不允许用户访问配置文件,这是添加字符集的首选位置.
Bja*_*ius 21
将AddDefaultCharset UTF-8到/etc/apache2/conf.d/charset.事实上,它已经存在了.您只需删除前面的内容即可取消注释#.
我不确定您是否可以访问Apache配置(httpd.conf),但您应该能够设置AddDefaultCharset指令.看到:
http://httpd.apache.org/docs/2.0/mod/core.html
查找mod_mime.c模块并确保设置以下内容:
AddDefaultCharset utf-8
Run Code Online (Sandbox Code Playgroud)
或等效的Apache 1.x文档(http://httpd.apache.org/docs/1.3/mod/core.html#adddefaultcharset).
但是,这仅在"响应内容类型为text/plain或text/html"时有效.
您还应确保您的页面也设置了字符集.有关详细信息,请参阅此
http://www.w3.org/TR/REC-html40/charset.html
这是未经测试但可能会奏效.
在你的.htaccess文件中:
<Files ~ "\.html?$">
Header set Content-Type "text/html; charset=utf-8"
</Files>
Run Code Online (Sandbox Code Playgroud)
但是,这将需要服务器上的mod_headers.
为了完整起见,在Ubuntu上的Apache2上,您将在conf-available中找到charset.conf中的默认字符集.
取消注释该行
AddDefaultCharset UTF-8
Run Code Online (Sandbox Code Playgroud)
如果您有 UTF-8 格式的长文件名,请注意:默认情况下,它们将被缩短为 20 个字节,因此最后一个字符可能会被“切成两半”,因此无法正确识别。然后您可能需要设置以下内容:
IndexOptions Charset=UTF-8 NameWidth=*
NameWidth设置将防止缩短文件名,使它们正确显示和可读。
正如其他用户已经提到的,这应该添加到 或httpd.conf(apache2.conf如果您有管理员权限)或.htaccess(如果您没有)。
| 归档时间: |
|
| 查看次数: |
340483 次 |
| 最近记录: |