如何从Javaservlet生成中文字符?

如何从Javaservlet生成中文字符?,java,servlets,character,cjk,Java,Servlets,Character,Cjk,我的servlet看起来像这样 protected void processRequest(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { PrintWriter out=response.getWriter(); out.println("<Html><Head><Title>Signup&l

我的servlet看起来像这样

  protected void processRequest(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
  {
    PrintWriter out=response.getWriter();

    out.println("<Html><Head><Title>Signup</Title></Head>\n<Body>\n");
    out.println("\u5982 电话\n");
    out.println("</Body>\n</Html>");
  }
protectedvoidprocessrequest(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException
{
PrintWriter out=response.getWriter();
out.println(“注册\n\n”);
out.println(“\u5982电话\n”);
out.println(“\n”);
}
我的浏览器可以显示来自其他网站的汉字。 我尝试了两种不同的方式来显示汉字,但它们都显示为??? 正确的方法是什么?

尝试添加

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 

没有为响应设置显式编码。因此,响应将由容器编写,默认编码为ISO-8859-1

因此,您需要使用或方法指定适当的字符编码。这将是以下两种情况之一:

response.setCharacterEncoding("GB18030");
response.setContentType("text/html; charset=GB18030");

您也可以使用UTF-8作为显式编码。

您需要发送Unicode,让servlet发送UTF-8,并正确设置浏览器区域设置以正确解释字符。

只需将字符编码设置为UTF-8对我来说是可行的

response.setCharacterEncoding("UTF-8")

通过输出unicode的html转义版本,您是否验证了浏览器+系统+字体组合将显示任何中文?e、 g.“和#x5982;”?看见