- Mr.Csizmás: Bestbuy travel, utazós, kirándulós topic - szállások, jegyek
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- votlage71: Kábel menedzsment
- Kempingezés és sátrazás
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- Luck Dragon: Asszociációs játék. :)
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
Hirdetés
Ú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
- Bluetooth hangszórók
- Huawei P30 - kell ennél több?
- Milyen légkondit a lakásba?
- EA Sports WRC '23
- Nintendo Switch 2
- iPhone topik
- Eredeti játékok OFF topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Xiaomi 15 12/256Gb 3 év gari Fehér kivitel/csere csak iphone 15 pro/
- AM5 Gamer PC - Ryzen 5 8400F / RX 9060 XT / A620M / 16GB vagy 32GB RAM 5600MHz / 256GB M.2 + 1TB M.2
- GF63 Thin 11UD 15.6" FHD IPS i5-11400H RTX 3050Ti 16GB 512GB NVMe + 1TB HDD magyar vbill gar
- Mamiya RB67, az eredeti kiadas + Mamiya - Sekor objektiv
- Samsung Galaxy S21 Ultra / 12GB RAM 256GB / Gyárifüggetlen / 12Hó Garancia
- Lenovo ThinkPad T14 Gen1 Ryzen5
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- Gigabyte 15 G5 Gamer FHD IPS 144Hz i5-12500H 12mag 4.5Ghz 16GB 512GB Nvidia RTX 3050 Win11 Garancia
- Új Asus 14 Zenbook WQXGA IPS Retina i9-12900H 5.0Ghz 14mag 32GB 1TB SSD Intel Iris XE Win11 Garancia
- Apple iPhone 14 Pro Max / 256GB / Gyári független / 12Hó Garancia / 87% akku
Állásajánlatok
Cég: FOTC
Város: Budapest