MySQL+Tomcat+JSP karakterkódolás
MySQL+Tomcat+JSP karakterkódolási probléma az 'ő' és 'ű' betűkben csúcsosodik ki...
■ H | K | Sze | Cs | P | Szo | V |
---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 | 1 | 2 | 3 | 4 | 5 |
Problémám
Már egy csomó helyen keresgéltem a megoldást, kipróbáltam a pageEncoding, charsetbeállításait iso-8859-2-vel és utf-8-al is az összes lehetséges variációban, a MySQL adatbázisban is - semmi.
Adatok:
JSP file, amivel a lekérdezéseket végezném (oxygen az adatbázis neve):
<%@taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
<sql:setDataSource var="datasource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/oxygen"
user="root" password=""/>
<sql:update dataSource="${datasource}">
INSERT INTO proba VALUES ("prőba")
</sql:update>
<sql:query var="proba" dataSource="${datasource}">
SELECT * FROM proba
</sql:query>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Próba</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0">
<c:forEach items="${proba.rows}" var="row">
<tr>
<td>${row.mezo}</td>
</tr>
</c:forEach>
</table>
<p>őúűúáéŐŰ</p>
</body>
</html>
A végén a <p>-ben az ékezetes karaktereket csak próbából írtam be, azok tökéletesen megjelennek.
MySQL tábla:
`mezo` varchar(255) character set utf8 collate utf8_bin NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
MySQL szerver: MySQL 4.1.3b-beta-nt
Webszerver: Apache Tomcat/5.5.4
Oprendszer: WinXp SP1
Kérdés a szokásos:
Tudna valaki működőképes megoldást javasolni?
P][G
Megoldottam
P][G
Mysql - Tomcat - utf8
Én is ezzel szívok.
Nekem segített a köv. megoldás, de csak akkor, ha konzol módú alkalmazásból próbálom:
A jdbc adatbázis url-ben meg kell adni néhány paramétert a következők szerint:
jdbc:mysql://localhost:3306/forumdb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8
Az a baj, hogy ez konzol módú programban működik, de Tomcat alatt, web alkalmazásban nem megy.
Tamás