java - servlet中,用浏览器打印HTTP表单,出现乱码的问题,下面是相关的代码
巴扎黑
巴扎黑 2017-04-17 17:48:05
0
3
285

用chrome 和 IE都试过(也把编码换成 UTF-8),网址输入为 :
http://localhost:8080/mydoodling/info?username=张
动态生成的网页内容为: 你好寮?
请问中文代码到底是哪个?
获取浏览器表单参数的代码为:

public class ServletInfo extends HttpServlet        
{
        public void doGet ( HttpServletRequest req , HttpServletResponse resp) throws IOException 
        {
                String username = req . getParameter ( "username") ;
                if (null != username)
                {
                        username = new String ( username.getBytes ( "ISO-8859-1")  , "GB2312") ;
                }
                resp . setContentType ( "text/html;charset=GB2312") ; 
                PrintWriter out = resp . getWriter ( ) ;
                out . println ("<html><body>"+"你好" + username+"</body></html>") ; 
                out . close ( ) ;
        }                
}
巴扎黑
巴扎黑

répondre à tous(3)
洪涛
  1. Vérifiez le paramètre request.setCharacterEncoding() ou le filtre d'encodage de caractères dans le filtre, et gardez le format de décodage cohérent avec le format d'encodage défini

  2. Pour les requêtes GET, Tomcat utilisera l'encodage ISO-8859-1 puis l'encodage UTF-8

洪涛

Vérifiez l'encodage des caractères sur la page jsp

PHPzhong

URL chinoises tronquées typiques, choisissez-en une ci-dessous.
1. Ajoutez URIEncoding="UTF-8" à la balise <Connector> dans le fichier de configuration de Tomcat server.xml
2 Ajoutez request.setCharacterEncoding("UTF-8") dans la première ligne de la méthode.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal