Question

J'utilise le code suivant JSoup pour rendre cette devise:

currencySpan.html("€" + currencyFormat.format(estimatedValue));

Toutefois, si vous visitez http://www.lastcalc.com/pmGgp1QR pour voir la sortie cela, il affiche un '? où le symbole Euro devrait être (avant que la valeur 19,164). Je vois cela dans les deux Chrome et Safari.

Pourquoi est-ce symbole ne pas être affiché correctement?

modifier: Les gens en soulignant que ce n'est pas un problème de navigateur, plutôt la? est en cours servis. Fondamentalement, j'utilise pour définir le texte Element.html de JSoup () (qui comprend le% euro;), et de là j'utiliser JSoup pour le rendre à une chaîne, qui est retourné au navigateur (soit directement lorsque la page des charges, ou dans le cadre d'un appel AJAX JSON si la page est modifié).

Ceci est le code qui renvoie le document (resp est un HttpServletResponse):

resp.setContentType("text/html");
resp.getWriter().append(doc.toString());

Edit2: Je coincé un System.out.println (currencySpan); suffisamment là et que, imprime Java:

<span class=" currency">€19.164</span>

La chose étrange est que JSoup semble avoir converti & euro; le symbole réel, mais à un moment donné, il n'est pas entrer dans le navigateur.

Comment puis-je assurer que le navigateur traite ce qui est renvoyé par le servlet en UTF-8?

EDIT3:. fixe, répondis-je avec le correctif ci-dessous

Était-ce utile?

La solution

Ok, le problème est que le navigateur a pas interpréter la réponse comme UTF-8, fixées avec:

resp.setContentType("text/html; charset=UTF-8");

Autres conseils

Le symbole &euro; ne fait pas son chemin vers le navigateur. Si vous affichez la source, il montre un? où j'attendre pour voir le code &euro; dans le code HTML. si vous regardez un ce ( http://jsfiddle.net/gTLKq/ ) le code jsFiddle, il a clairement montre le symbole de l'euro de la valeur de l'entité que vous utilisez.

, JSoup est donc en train de modifier votre code. Nettoyez-vous la sortie JSoup, ou faire toute autre chose qui peut donner lieu à JSoup faire?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top