ugrás a tartalomhoz

MySQL+Tomcat+JSP karakterkódolás

PiG · 2004. Nov. 6. (Szo), 00.39
MySQL+Tomcat+JSP karakterkódolási probléma az 'ő' és 'ű' betűkben csúcsosodik ki...
 
1

Problémám

PiG · 2004. Nov. 6. (Szo), 00.55
Egy MySQL adatbázishoz szeretnék hozzáférni JSP segítségével. Ez megy. Ha azonban olyan mezőket kérdezek le, melyekben 'ő' és 'ű' betű található, akkor még véletlenül sem ezeket a betűket látom viszont, hanem a hullámos megfelelőjüket. Ha ilyen betűket tartalmazó adatokat szeretnék beszúrni, akkor csak kérdőjelek kerülnek be az adatbázisba is, visszaolvasáskor meg pláne.
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):
<%@page contentType="text/html;charset=utf-8" pageEncoding="utf-8" %>
<%@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:
CREATE TABLE `proba` (
  `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
2

Megoldottam

PiG · 2004. Nov. 6. (Szo), 11.28
Megoldottam a problémát, legalábbis remélem. Nem kell tovább törni a fejeteket...
P][G
3

Mysql - Tomcat - utf8

Anonymous · 2005. Feb. 14. (H), 18.08
Hogyan sikerült megoldani ?
É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