UTF8 и JSP, пытаясь понять, что происходит - PullRequest
3 голосов
/ 06 июня 2011

Я создал следующий JSP:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
<%
byte[] oe1 = {-61,-123};
byte[] oe2 = {-123,-61};
byte[] oe3 = "œ".getBytes("UTF-8");
%>
byte[] oe1 = {-61,-123}: '<%=new String(oe1, "UTF-8")%>'<br/>
byte[] oe2 = {-123,-61}: '<%=new String(oe2, "UTF-8")%>'<br/>
byte[] oe3 = "œ".getBytes("UTF-8"): '<%=new String(oe3, "UTF-8")%>'<br/>
oe3[0], oe3[1]: <%=oe3[0]%>, <%=oe3[1]%>
    </body>
</html>

Что выводит следующее:

byte[] oe1 = {-61,-123}: '�'
byte[] oe2 = {-123,-61}: '??'
byte[] oe3 = "œ".getBytes("UTF-8"): 'œ'
oe3[0], oe3[1]: -61, -123 

Что мне здесь не хватает. Почему работает oe3, а не oe1 или oe2. Вероятно, здесь происходит что-то, что я не понимаю

Ответы [ 2 ]

4 голосов
/ 06 июня 2011

Добавьте это в верхнюю часть JSP, чтобы позволить ему печатать символы с использованием UTF-8, и браузер должен интерпретировать ответ как UTF-8.

<%@ page pageEncoding="UTF-8" %>

Тег <meta> не подходиттот.Более того, игнорируется , когда страница обслуживается по HTTP.

См. Также:

2 голосов
/ 06 июня 2011

Чтобы добавить в ответ BalusC, кодировку jsp также можно задать глобально в файле web.xml: http://bordet.blogspot.com/2007/09/jsp-page-encoding.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...