.htaccess htaccess与<;meta http equiv=";“内容类型”;内容=”;text/html;字符集=utf-8>;

.htaccess htaccess与<;meta http equiv=";“内容类型”;内容=”;text/html;字符集=utf-8>;,.htaccess,utf-8,.htaccess,Utf 8,什么是htacces等价于meta http equiv=“Content Type”Content=“text/html;charset=utf-8”?伊斯洛说我应该把这个放进我的口袋里。我在appache服务器上 好的,看这里,我想我有一个答案。但是,哪种代码是合适的?我的网站上只有html扩展 vs vs vs 第一个是AddCharset,它告诉服务器以.html结尾的文件应该说是用UTF-8编码的 第二个为HTML文件提供完整的内容类型,包括MIME类型和字符集。这应该不是必需的,因为

什么是htacces等价于
meta http equiv=“Content Type”Content=“text/html;charset=utf-8”
?伊斯洛说我应该把这个放进我的口袋里。我在appache服务器上

好的,看这里,我想我有一个答案。但是,哪种代码是合适的?我的网站上只有html扩展

vs

vs

vs


第一个是
AddCharset
,它告诉服务器以
.html
结尾的文件应该说是用UTF-8编码的

第二个为HTML文件提供完整的
内容类型
,包括MIME类型和字符集。这应该不是必需的,因为Apache应该已经配置为以
text/html
的形式提供
.html
文件

第三个,
AddDefaultCharset
,为所有文件类型设置默认字符集,而不仅仅是HTML。因此,例如,文本文档、XML文档、样式表等将与列出的
UTF-8
字符集一起提供。这是我的建议;默认情况下,您应该将所有文档保存在UTF-8中,因此,即使现在所有文档都是HTML,如果以后添加其他类型的文件,这也会为其他类型的文件保留正确的字符集配置

最后一个不是Apache配置;如果您设置了上述选项之一,则应将其与文档一起发送。您可以检查Firefox上Firebug中发送的标题,或者其他浏览器提供的各种开发工具。您应该始终具有
内容类型:
标题,如果您的文本以UTF-8编码,则它应该始终指定
charset=UTF-8


请注意,如果通过标题适当设置字符集,则不需要
meta
标记。如果您要在本地查看文件,而不使用web服务器,那么使用
meta
标记仍然很好;在这种情况下,不需要设置标题,因此浏览器需要退回到
meta
标记。但为此,您可以使用更短更简单的
meta
标记:
。这种缩写形式正式引入HTML5,但浏览器实际上支持它的时间更长了,而且它与所有现代浏览器兼容,甚至可以追溯到IE 6。

另一种可能性是重写引擎(在本例中,不匹配扩展URL):


非常感谢布莱恩的详细回答。发帖后我遇到了这个代码。。。AddDefaultCharset UTF-8 DefaultLanguage对我们来说似乎很完美。但如果你说的是真的,我应该取消FileMatch,因为该代码引用了所有的文件扩展名???还有,把语言也包括进去是不是一个好主意?谢谢对不起,我不能在我的iPad上使用返回按钮,或者它只是发布答案。所以我无法格式化我的答案。我找不到任何关于所有文件类型的文档。你知道有这样的链接吗?
AddCharset UTF-8 .html
AddType 'text/html; charset=UTF-8' html
AddDefaultCharset UTF-8
Content-Type: text/html; charset=UTF-8
RewriteEngine on
RewriteRule ^([^.]*)$ $1 [type=text/html]