|
TwojePC.pl © 2001 - 2025
|
 |
A R C H I W A L N A W I A D O M O Ś Ć |
 |
| |
|
[OT] jdbc + mysql , celt 21/03/06 22:15 używam wersji: mysql-connector-java-5.0.0-beta
połączenie z baza poprzez (database URL):
jdbc:mysql://localhost:3306/test?characterEncoding=latin2
i dostaje krzaki - ktoś wie co jest nie tak?
Standardowo spod mysql - wyświetla polskie znaki i jest ok
dla pewności wykonałem pod mysql: alter databes test character set latin2
i jakbym nie kombinował coś jest nie tak
Ktoś wie jak poprawnie to skonfigurować?Everything should be made as simple as
possible, but no simpler - nie pomoge.. ale... , john565 21/03/06 22:21
zsięgnij rady na www.jdn.plf*ck - byłem , celt 21/03/06 22:26
na tej stronie - w ostateczności tam zadam to pytanie,
ich rady nie skutkują - jest tam tylko jedna sensowana rada (gościa który rzeczywiście korzysta z mysql poprzez jdbc) - ale dotyczy wcześniejszej wersji mysql-connector'a ;)Everything should be made as simple as
possible, but no simpler
- hmmmm , Holyboy 22/03/06 00:01
ja w Javie nie pisze, ale w PHP jak jest problem z kodowaniem to pomaga zapytanie SQL: SET NAMES latin2Strength is irrelevant.
Resistance is futile.
We wish to improve ourselves. - to jest , celt 22/03/06 01:05
właśnie problem, tak jakoś ta java nie jest popularna. Do PHP jest tyle tutoriali, faq że szkoda gadać.
Jedynie na jdn.pl ktoś odpowiada jeszcze na pytania - normalnie wszyscy chyba mają wstręt do tej Javy ;)Everything should be made as simple as
possible, but no simpler
- Problem leży w kodowaniu znaków w tabelach , mcadams1 22/03/06 08:17
Jezeli baza jak i same tabele zostały założone przy użyciu innego zestawu znaków np latin1 to pomimo ustalenia przesyłu za pomocą latin2 bedą wyskakiwały "krzaczki". Jak masz MySqlAdmin-a to sprawdź jaki zestaw znaków masz użyty do kodowania. Jezeli dodatkowo wyświetlasz zawartość na stronie webowej używajać JavaServlets to trzeba ustawić sposób kodowania. - zauważyłem , celt 22/03/06 11:47
że pod SQL Browserem też krzaki:
Co do mysql'a"
- był instalowany z latin2
- baza danych też z latin2
- dla tablicy nie zmieniałem (zostało tak jak dla bazy)
Sprawdzalem kodowanie poprzez użycie polecenia:
show create database/table ...
czyli powinno być ok, a nie jestEverything should be made as simple as
possible, but no simpler - dobra - rozwiązanie problemu :) , celt 22/03/06 21:18
rozwiązanie jest takie:
1. na stronie JSP dodajmy dyrektywę:
<%@ page
language="java"
contentType="text/html; charset=ISO-8859-2"
pageEncoding="ISO-8859-2"
%>
można jeszcze dodać w sekcji HEAD (choć nie jest to konieczne)
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
2. jeżeli baza ustawiona ma kodowanie na latin2/UTF-8/inne, konieczne staje
sie napisanie filtra opisanego na stronie http://jdn.pl/node/21
I tu ważna uwaga: jeżeli baza ustawiona na latin2
to pliku konfiguracyjnym web.xml wpisujemy (wartość inicjalna):
<init-param>
<param-name>encoding</param-name>
<param-value>latin2</param-value>
</init-param>
Jeszcze jedno: po instalacji mysql 5.0 pojawia problem dotyczący kodowania w latin2, ma to miejsce przy odpaleniu mysql lub mysqld, tj.
nie może odnaleźć pliku Index.xml
Rozwiązaniem jest dodanie ścieżki bezwzględnej do pliku Index.xml
dodając w pliku my.ini wpisy jak niżej ( w przypadku standardowej
instalacji pod Win)
[client]
default-character-set=latin2
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"
[mysqld]
jak wyżej
PS. byś może istnieje lepszy lub prostszy sposób - ale ja go nie znalazłem :D
Jak ktoś będzie szukał w przyszłości, to rozwiązanie tego problemu znajdzie gotowe tutaj ;)Everything should be made as simple as
possible, but no simpler |
|
|
|
 |
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL |
 |
|
|
|