apache默认编码(AddDefaultCharset)对js等其它文本无效问题

apache服务器默认配置了utf-8编码,网页(text/html)的响应头content-type也有正常添加charset。开始以为其它文本都这样。然而直接打开js才发现,这个配置没有生效。

AddDefaultCharset UTF-8

按照官方文档指引,我们可以使用“AddCharset”给指定后缀的文件增加编码:

# Maps the given filename extensions to the specified content charset
AddCharset UTF-8 .js .css .txt .json .md .java

重启服务器后,content-type就有增加charset信息了。

当然,即使没有增加上面这个配置,js和css跟页面一起使用也是正常的。因为页面资源的默认编码都会使用页面的编码。也就是说,只要页面配置了编码,其它资源就会沿用这个编码。需要单独配置这个信息的,是直接在浏览器打开文件,这时没有上下文参数,浏览器只能使用默认编码。

这里再补充一个给指定后缀配置MIME的指令:

# Maps the given filename extensions onto the specified content type
# https://www.iana.org/assignments/media-types/media-types.xhtml
AddType text/markdown .md
AddType text/x-java-source .java

若文件的MIME无法找到,上面编码是无法使用的。当然,这是直接使用apache需要配置的内容。若你是混合使用了jetty、tomcat等,这些映射它们默认都有扩展(但是没有的,还是得自己添加),就不需要依靠apache的指令了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值