Htaccess是否会更改页面的内容类型?

时间:2011-04-18 08:19:21

标签: java .htaccess utf-8 response content-type

我在Java端有这个代码:

....
PrintWriter writer = response.getWriter();
response.setContentType("application/json; charset=utf-8");
response.setCharacterEncoding("UTF-8");
....

我将Struts2,JSP和Java用于MySQL和Apache的应用程序。当我向响应对象写入内容并检查firebug中的内容类型时,它总是

charset=ISO-8859-1

所以,当我想在响应对象上写一些东西时会发生无法识别的字符。

我的jsp文件每次都有这行:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

我测试了我的程序,当它运行时没有经过.htaccess一切正常。我知道.htaccess会更改内容类型。

我尝试过这样的事情:

http://www.askapache.com/htaccess/setting-charset-in-htaccess.html

但是我不确定我会错过什么或尝试别的什么?

2 个答案:

答案 0 :(得分:0)

尝试在JSP页眉中指定编码,如下所示:

<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" trimDirectiveWhitespaces="true" %>

答案 1 :(得分:0)

由于您使用response.setCharacterEncoding()设置字符编码,为什么不在不指定字符集的情况下设置Content-Type?

response.setContentType("application/json");