URL编码在CentOS 6.4中强制使用UTF-8

我在CentOS 6.4服务器上有一个简单的html网站。 在每个我设置的HTML页面

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

我已经在.htaccess文件中添加了以下行

 IndexOptions Charset=UTF-8 

并在我添加的网站的httpd.conf文件中

 <VirtualHost *:80> /* other stuff */ AddDefaultCharset UTF-8 IndexOptions Charset=UTF-8 </VirtualHost> 

在httpd.conf中主线

 AddDefaultCharset UTF-8 

也被设置。

仍然当我在Chrome中debugging我得到我的请求标题是:

 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 

和我的回应标题是:

 Content-Type: text/html; charset=iso-8859-1 

访问我得到的语言环境命令

 LANG=el_GR.UTF-8 LC_CTYPE="el_GR.UTF-8" LC_NUMERIC="el_GR.UTF-8" LC_TIME="el_GR.UTF-8" LC_COLLATE="el_GR.UTF-8" LC_MONETARY="el_GR.UTF-8" LC_MESSAGES="el_GR.UTF-8" LC_PAPER="el_GR.UTF-8" LC_NAME="el_GR.UTF-8" LC_ADDRESS="el_GR.UTF-8" LC_TELEPHONE="el_GR.UTF-8" LC_MEASUREMENT="el_GR.UTF-8" LC_IDENTIFICATION="el_GR.UTF-8" LC_ALL= 

而/ etc / sysconfig / i18n有以下几行

 LANG="el_GR.UTF-8" SYSFONT="latarcyrheb-sun16" 

仍然每一个我尝试访问它的标题的URL是在希腊语中,我得到一个404错误,没有find一个url/希望你喜欢我的朋友,但是没有find。 该页面在那里,但由于某种原因,编码不起作用。

我将不胜感激任何forms的帮助。 谢谢

IndexOptions指令只对apache自动生成的目录列表产生影响,并且对于实际的html页面没有任何影响。

您的请求没有指定任何types的编码,它不应该对您的页面生成有任何影响。

内容 (也是你的静态HTML文件的实际编码)也不应该改变任何东西,而不是它的<meta设置。

在你的情况下唯一有效的指令是AddDefaultCharset UTF-8 。 它必须工作。 有可能是压倒你的字符集。

如果你提供一个简单的文本文件会发生什么? 你会得到一个utf8 http回复标题吗?

检查你的hmtl文件:

 file /var/www/html/your_page.html 

也许你的编辑器保存了Latin-1编码。

要更改编码,请尝试:

 iconv -f ascii -t utf8 [filename] > [newfilename] 

要么

 recode UTF-8 [filename]