Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Szevam: ChatGPT: Bizonytalansági jelölés funkció bekapcsolása
- btz: Internet fejlesztés országosan!
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál... 3. rész
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Parci: Milyen mosógépet vegyek?
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
- NASsoljunk: ZyXEL NSA-310 és az FFP
Új hozzászólás Aktív témák
-
loszerafin
senior tag
Jó gondolat, megnéztem a hibernate forrást, semmilyen latin1-re való utalást nem találtam.
Sőt, semmit, ami explicite beállítaná a charset-et.Tehát NEM a Hibernate készíti a táblát latin1-ben, a Hibernate csak nem ad rá módot, hogy megváltoztassam a a tábla charset-jét, így az az adatbázis default character set-je lesz.
-
tgabi333
aktív tag
válasz
loszerafin
#4
üzenetére
Értelek.
Persze, nyilvánvaló volt, hogy nem te adod ki a create utasítást.
Arra gondoltam, hogy ha esetleg az adatbázis collation-jét átállítod, akkor is latin1-el hozza létre a táblát?
Konkrétan ez úgy nézne ki a hibernate-ben, hogy ténylegesen a createe parancs végén megadja a default charset-et vagy nem. Ha nem, akkor jó megoldás lehet az adatbázis collation-jének állítása is.
De nem okoskodni szeretnék, a te megoldásod a legbiztosabb, mivel konkrétan definiálod...
-
loszerafin
senior tag
Teljesen igazad van.
De - nem tudom, mennyire ismered a Hibernate-et - a Hibernate saját maga "dönti el", hogy hozza létre a táblát, milyen típusokkal.
Tehát nem adok ki ilyen utasításokat, hogy pl.: "create table ...".A Hibernate pedig beírta a default charset-et latin1-nek. Ezen kellett változtatni.
-
tgabi333
aktív tag
válasz
loszerafin
#2
üzenetére
Értem, tehát a progid hozott létre táblát.
Ha táblát hozol létre és a lekérésben nincs konkrétan benne, hogy mi legyen a defautl charset, akkor az adatbázis default charset-je lesz.
A default charset-ek származása:
Adatázis motor default charset
Adatbázis default charset
Tábla default charset
Mező default charsetTehát pl ha egy mezőt hozol létre explicit charset megadás nélkül, akkor a tábla charset-ét fogja használni.
Ha táblát hozol létre explicit charset megadás nélkül, akkor az adatbázisét
Ha adatbázist hozol létre explicit charset megadás nélkül, akkor a motorét.Tehát a te esetedben - feltételezem - elegendő lenne az adatbázis default charset-jét megadni. Pontosabban collation-jét.
-
loszerafin
senior tag
Nem segített volna, mert attól még a tábla latin1-es kódolású marad.
Az, hogy milyen kódolással kommunikáljon a szerver a klienssel, azt a hibernate "magától"
eldönti, gondolom elég jól. Persze én rásegítettem<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">utf8</property>
<property name="connection.charSet">utf-8</property>Ezekkel a beállításokkal, sőt még a mysql connection url-be beírtam ilyesmiket, de a hibernate folyton latin1-gyel hozta létre a táblákat.
Ha én kézzel csináltam a táblákat utf8-ra, akkor jók voltak az ékezetek, szóval ez volt az egyetlen baj.
Gondolom, azért futnak bele ebbe a hibába ritkán az emberek, mert a táblákat általában egyszer hozzák létre, és nem java-ból.
A kis programom viszont, ha nem volt semmilyen tábla az adatbázisban, létrehozatta a hibernate-tel. Ekkor jött elő a hiba, hogy nem tudtam rávenni a hibernate-et, hogy utf8-as character set-tel hozza létre a táblákat. -
tgabi333
aktív tag
Esetleg egy mysql-ben kiadott SET NAMES utf8; nem segített volna?
Új hozzászólás Aktív témák
- 5.1, 7.1 és gamer fejhallgatók
- Milyen okostelefont vegyek?
- Samsung Galaxy Watch6 Classic - tekerd!
- Proxmox VE
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Google Chrome
- Spórolós topik
- BestBuy topik
- Soundbar, soundplate, hangprojektor
- További aktív témák...
- GIGABYTE RTX 5070 12GB GDDR7 WINDFORCE SFF - Új, 3 év garancia - Eladó!
- ÚJ Asus V16 V3607VM - 16" WUXGA 144Hz - Core 5 210H - 16GB - 1TB - Win11 - RTX 5050 - 3 év garancia
- ZBook Fury 16 G10 16" 4K+ IPS i7-13700HX RTX 2000 Ada 32GB 1TB NVMe IR kam GAR
- ÚJ (Hiányos) Xtrfy M4 Wireless Bolti ár:60k INGYEN FOXPOST
- ÚJ (Pici hibával) Xtrfy M8 Wireless Bolti ár:28k INGYEN FOXPOST
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 11 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3127, 100% Akkumulátor
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

