JSP土耳其字符问题

时间:2011-02-24 09:06:07

标签: jsp character-encoding turkish

我在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页面中显示文本?

3 个答案:

答案 0 :(得分:5)

我看到两个可能的原因:

  1. 您的编辑器未将页面保存为UTF-8。检查默认设置和/或另存为选项。
  2. 某些JSP中缺少@page。它必须出现在所有 JSP文件中,也包括include。

  3. 与具体问题无关,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");