Cet article présente la solution au code tronqué d'URL Java. Les amis dans le besoin peuvent s'y référer
Habituellement, nous encodons une fois, puis acceptons directement les paramètres
String para = request.getParameter(paramName); C'est parce que le conteneur peut automatiquement nous aider à décoder (DECODE)
De manière générale, lors de l'encodage, utilisez UTF-8 (encodage système) Alors si UTF-8 est également utilisé lors du décodage, alors les caractères tronqués légendaires n'apparaîtront pas ~
Mais si UTF-8 est utilisé dans la page JSP, mais que le conteneur le décode Si d'autres encodages sont utilisés, des caractères tronqués peuvent apparaître
À ce stade, vous pouvez généralement utiliser :
String param = new String(request.getParameter(paramName) .getBytes(" ISO-8859-1"),"UTF-8");
peut également sortir.
J'ai essayé toutes les méthodes. Que dois-je faire si je n'arrive toujours pas à obtenir ?
Comment résoudre ce problème d'encodage causé par plusieurs serveurs :
SupposeString: = "Yang";
Encoder une fois %E9% 98%B3
Encoder deux fois %2525E9%252598%2525B3
Dans un deuxième temps, le conteneur est automatiquement décodé cette fois, qu'il soit GBK, UTF-8 ou ISO-8859-1 . D'accord, vous pouvez obtenir %E9%98%B3
correctement. Ensuite, tant que vous effectuez le décodage une fois, vous pouvez obtenir "Yang"
.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!