|
| JSP og UTF-8 Fra : Allan Unnerup |
Dato : 10-08-02 16:50 |
|
Nedenstående kode virker ikke som JSP, men den tilsvarende kode virker fint
som servlet.
<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>
<%
response.setContentType("text/plain; charset=UTF-8");
%>
<html>
<head><title>Hello World</title></head>
<BODY>
Hello World in Russian (Cyrillic):<br>
\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439,
\u041c\u0438\u0440<br>
<br>
</BODY>
</html>
Er problemet at man ikke kan benytte response.setContentType i en JSP?
Med venlig hilsen
Allan Unnerup
| |
bvli (10-08-2002)
| Kommentar Fra : bvli |
Dato : 10-08-02 18:47 |
|
Allan Unnerup wrote:
> Nedenstående kode virker ikke som JSP, men den tilsvarende kode virker fint
> som servlet.
>
--zip zip--
>
> Er problemet at man ikke kan benytte response.setContentType i en JSP?
>
Måske det kunne være fordi jsp-siden når den er compilet, kalder
"getWriter" *før* setContentType bliver kaldt?
Ser lige at Resin gør sådan:
<snip>
javax.servlet.jsp.JspWriter out = (javax.servlet.jsp.JspWriter) pageContext.
getOut();
javax.servlet.ServletConfig config = getServletConfig();
javax.servlet.Servlet page = this;
javax.servlet.http.HttpSession session = pageContext.getSession();
javax.servlet.ServletContext application =
pageContext.getServletContext();
response.setContentType("text/html");
try {
pageContext.write(_jsp_string0, 0, _jsp_string0.length);
response.setContentType("text/plain; charset=UTF-8");
</snip>
Det nederste er den response.setContentType(..) der bliver kaldt i selve
jsp siden, og det er /efter/ out er instantieret.
Der findes garanteret en workaround.. Er dog ikke lige faldet over den.
--
Bjarke
> Med venlig hilsen
> Allan Unnerup
>
>
| |
Thorbjoern Ravn Ande~ (10-08-2002)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 10-08-02 19:26 |
|
"Allan Unnerup" <alu@udkik.dk> writes:
> Er problemet at man ikke kan benytte response.setContentType i en JSP?
Du skal angive det i <%@page%>. Når din <%...%> kode udføres er det
for sent.
Nærlæs JSP-specifikationen.
--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn
| |
Allan Unnerup (11-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 11-08-02 11:37 |
|
> > Er problemet at man ikke kan benytte response.setContentType i en JSP?
>
> Du skal angive det i <%@page%>. Når din <%...%> kode udføres er det
> for sent.
>
> Nærlæs JSP-specifikationen.
Det gør altså ingen forskel. Du kan meget vel have ret, men i givet fald er
der også noget andet galt.
<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head><title>Hello World</title>
</head>
<BODY>
Hello World in Russian (Cyrillic):<br>
\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439,
\u041c\u0438\u0440<br>
<br>
</BODY>
</html>
| |
Allan Unnerup (11-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 11-08-02 15:30 |
|
> Nedenstående kode virker ikke som JSP, men den tilsvarende kode virker
fint
> som servlet.
>
> <%@ page import="java.util.*" %>
> <%@ page import="java.text.*" %>
> <%
> response.setContentType("text/plain; charset=UTF-8");
> %>
> <html>
> <head><title>Hello World</title></head>
> <BODY>
> Hello World in Russian (Cyrillic):<br>
> \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439,
> \u041c\u0438\u0440<br>
> <br>
> </BODY>
> </html>
>
> Er problemet at man ikke kan benytte response.setContentType i en JSP?
>
Efter en del try and error virker koden, hvis jeg erstatter
\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439,
\u041c\u0438\u0440
med
<%=new String("\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439,
\u041c\u0438\u0440".getBytes("UTF-8"), "UTF-8")%>
Jeg synes dog, at det er ulogisk, med denne konvertering, hvis \u er
escapekode til unicode, men det kan en af jer måske forklare det fornuftige
i?
Ifølge specifikationerne skal
response.setContentType("text/plain; charset=UTF-8");
erstattes med
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
men det gør ingen praktisk forskel i mit miljø: Red Hat + Apache + Resin.
Med venlig hilsen
Allan
| |
Thorbjoern Ravn Ande~ (11-08-2002)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 11-08-02 22:21 |
|
"Allan Unnerup" <alu@udkik.dk> writes:
> Jeg synes dog, at det er ulogisk, med denne konvertering, hvis \u er
> escapekode til unicode, men det kan en af jer måske forklare det fornuftige
> i?
Det er jo ikke Java-kildetekst men HTML der hvor du er. Jeg mener
ikke at dette understøtter disse escape-sekvenser. Hvad siger
JSP-specifikationen om hvordan tegn skal fortolkes på det sted?
--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn
| |
Peter Kirk (12-08-2002)
| Kommentar Fra : Peter Kirk |
Dato : 12-08-02 09:51 |
|
"Thorbjoern Ravn Andersen" <thunderbear@bigfoot.com> wrote in message
news:kku1m1w0ri.fsf@mimer.null.dk...
> "Allan Unnerup" <alu@udkik.dk> writes:
>
> > Jeg synes dog, at det er ulogisk, med denne konvertering, hvis \u er
> > escapekode til unicode, men det kan en af jer måske forklare det
fornuftige
> > i?
>
> Det er jo ikke Java-kildetekst men HTML der hvor du er. Jeg mener
> ikke at dette understøtter disse escape-sekvenser. Hvad siger
> JSP-specifikationen om hvordan tegn skal fortolkes på det sted?
I think you are correct. \u may be for Java, but not HTML (browser).
Try something like this in HTML:
А Б В Г Д Е Ж З И
Й К Л М Н О П Р С
Т У
Ф Х Ц Ч Ш Щ Ъ Ы Ь
Peter.
| |
Allan Unnerup (12-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 12-08-02 14:45 |
|
> > > Jeg synes dog, at det er ulogisk, med denne konvertering, hvis \u er
> > > escapekode til unicode, men det kan en af jer måske forklare det
> fornuftige
> > > i?
> >
> > Det er jo ikke Java-kildetekst men HTML der hvor du er. Jeg mener
> > ikke at dette understøtter disse escape-sekvenser. Hvad siger
> > JSP-specifikationen om hvordan tegn skal fortolkes på det sted?
>
> I think you are correct. \u may be for Java, but not HTML (browser).
> Try something like this in HTML:
>
> А Б В Г Д Е Ж З И
> Й К Л М Н О П Р
С
> Т У
> Ф Х Ц Ч Ш Щ Ъ Ы Ь
>
You are both right. I can just write:
<%="\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439,
\u041c\u0438\u0440"%>
Thanks
Kind Regards,
Allan
| |
|
|