- Megérkezett a Google Pixel 7 és 7 Pro
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Xiaomi Mi 8 - így csinálunk csúcsmodellt Mi
- iPhone topik
- Apple Watch Ultra - első nekifutás
- Fotók, videók mobillal
- Lesz Xperia 10 VII, méghozzá újratervezett külsővel
- MIUI / HyperOS topik
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Egy friss tanulmány szerint az AI-ban utazó cégek 95%-a csak elégeti a pénzét
Ú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
Hirdetés
- TCL LCD és LED TV-k
- Sorozatok
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Leégett az első Radeon a hírhedt 12V-2x6 tápkonnektorral
- Tippmix
- BestBuy ruhás topik
- iPhone-t használók OFF topikja
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Media Player Classic és Home Cinema (MPC-HC)
- Gitáros topic
- További aktív témák...
- AMD AM5 Ryzen7 Win11 FullHD gamingPC 2-3év garanciával (8700G/4060Ti/32GB/1TB M2/WiFi6/BT/Win11)
- Exclusive ajánlat! Eladó Dobozos 14" colos LG GRAM 14 i7-1165G7/16gb ram/512SSD nincs 1kg!
- DJI Mini 4 pro Fly More Combo FMC RC2 drón új állapotban
- DJI Mini 4 pro Fly More Combo RC2 drón 6 akkumulátorral - Garancia, Care Refresh
- DJI Mini 4 pro - Fly More Combo - RC2 drón szett - Garancia, Care Refresh
- BESZÁMÍTÁS! Asus TUF A620M R7 7700 64GB DDR5 500GB SSD RX 6800 XT 16GB ZALMAN I3 NEO Seasonic 750W
- AZONNALI SZÁLLÍTÁSSAL Eladó Windows 8 / 8.1 Pro
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- Motorola Moto G86 8/256 Cosmic Sky 1 év gari
- Bomba ár! Acer Aspire A515 - i5-8GEN I 8GB I 128GB SSD I 15,6" FHD I Nvidia 2GB I Cam I W11 I Gari!
Állásajánlatok
Cég: FOTC
Város: Budapest