Cette ligne de code, qui décode un mot chinois codé:Codage/Décodage question étrange
URLDecoder.decode("%E4%BB%BB%E4%BD%95%E8%BD%A6%E8%BE%86%E5%BA%94",
"UTF-8").getBytes().length
Quand je lance dans une page JSP (sur Jboss) il imprime 5:
<%= URLDecoder.decode("%E4%BB%BB%E4%BD%95%E8%BD%A6%E8%BE%86%E5%BA%94",
"UTF-8").getBytes().length %>
Exécution dans une application de bureau imprime 15:
public static void main(String[] args) {
System.out.println(URLDecoder.decode(
"%E4%BB%BB%E4%BD%95%E8%BD%A6%E8%BE%86E5%BA%94", "UTF-8"
).getBytes().length);
}
Pourquoi? Et je veux que le jsp obtienne 15 aussi, comment?
êtes-vous SÛR? Vérifiez soigneusement s'il y a quelque chose d'autre qui ne va pas. à quoi ressemble votre page JSP? le 1 des 15 n'est-il pas caché? le code Java dans une JSP est juste du code Java normal, exactement le même que le code Java dans une servlet (en fait, les JSP sont converties en servlets). – Jesper
La page JSP ne contient rien d'autre que l'instruction d'importation URLDecoder, je l'utilise uniquement pour le test. – Moro
Et non, c'est 5 je le vois correctement. – Moro