我在jboss 4.2.2服务器下运行了一个jsp页面。
页面结构如下:
包括头部(头部写在另一页上,就像aspx中的主页一样。)
(身体(问题出现的地方))
包括脚(脚也写在另一页。)
首页包含编码和元标记:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
当我在şğĞİÇçÖ
(土耳其语)等页面中写字符时,字符显示为“?” (问号)我该怎么做才能避免这种行为?
如何在jsp页面中显示文本?
答案 0 :(得分:5)
我看到两个可能的原因:
@page
。它必须出现在所有 JSP文件中,也包括include。与具体问题无关,JSP中的以下内容已足够:
<%@ page pageEncoding="UTF-8" %>
你放在那里的残余已经是(隐含的)默认值。
答案 1 :(得分:1)
除了DOCTYPE
声明之外,在文档<head>
中添加元标记通常是个好主意:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
除了BalusC's suggestion 所有涉及的文件需要实际使用UTF8编码保存是非常重要的。
答案 2 :(得分:1)
将此代码段添加到您的servlet中:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=utf-8");