如何从Javaservlet生成中文字符?
我的servlet看起来像这样如何从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
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;”?看见