Portál AbcLinuxu, 1. května 2025 15:28

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
15.10.2006 17:17 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Napovídání při hledání
Odpovědět | Sbalit | Link | Blokovat | Admin
V MySQL se pokoušíš porovnat UTF-8 a Latin2 stringy. Jestli se nepletu, tak databáze Abíčka je v Latin2, ale v parametrech JDBC spojení je useUnicode=true, takže tam se řetězec pravděpodobně předává v UTF-8.

Problém bude zřejmě v tom, na jakém charset se server s JDBC ovladačem "dohodnou" - asi to není Latin2, ale UTF-8. Možná by pomohlo jako parametr JDBC URL nastavit characterEncoding=ISO8859_2.
15.10.2006 17:31 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Napovídání při hledání
Na tohle uz nemam moc odvahu. Prvni zkusenost s Mysql 4.1 byla tragicka, bez meho vedomi byl kdysi upgradovan mysql server na tuto radu a ja to rano resil, meli jsme i poskozeni dat. Pri prechodu na novy server jsem to nastesti neresil na zivem serveru, ale take mi to dalo zabrat a to jsem mel po ruce zalohy. Ted bych to musel opet menit nazivo a toho se moc bojim.

Ale jedna varianta tu je - napisu si do abicka rezim read-only pro udrzbu a kdyz jej zapnu, nikdo nebude moci vlozit nic noveho a tudiz obnovou zalohy nikdo neprijde o data. Jdu to napsat do bugzilly. Treba pristi vikend bude pokracovani.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
15.10.2006 17:39 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Napovídání při hledání
Aha, ono to s těmi parametry zas nebude tak jednoduché, tak snad takhle:
jdbc:mysql://…/devel?characterEncoding=ISO8859_2&mysqlEncoding=latin2
15.10.2006 17:26 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Napovídání při hledání
Odpovědět | Sbalit | Link | Blokovat | Admin
Az budu mit nekdy odvahu experimentovat, zde jsou nejake linky: mysql 4.1 a cestina minifaq
SHOW VARIABLES;
| character_set_client            | latin1                      |
| character_set_connection        | latin1                      |
| character_set_database          | latin2                      |
| character_set_results           | latin1                      |
| character_set_server            | utf8                        |
| character_set_system            | utf8                        |
| character_sets_dir              | /usr/share/mysql/charsets/  |
| collation_connection            | latin1_swedish_ci           |
| collation_database              | latin2_bin                  |
| collation_server                | utf8_general_ci             |
SHOW CHARACTER SET;
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
15.10.2006 18:51 hele
Rozbalit Rozbalit vše Re: Napovídání při hledání
Odpovědět | Sbalit | Link | Blokovat | Admin
nepisete jakou mate verze mysql 4.1.? ty prvotni meli s timhle dost potizi, ktere se vyresili az pozdeji, dalsi vec jak pise tu nekdo drive mit dobre nastaveno kodovani spojeni bud skrz set names latin2; ci set names utf8; apod. taky se presvedcit zda je v databazi opravdu utf8, ci je to utf8 placnute do latin2 kodovani. Pozna se to dle toho ze kdyz se tam pripojite a napisete set names utf8; leze utf8 spravne, a kdyz set names latin2 pak leze spravne latin2;
15.10.2006 20:06 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Napovídání při hledání
4.1.15

Jak je to vlastne s UTF v databazi a konzoli? Kdyz budu mit databazi v UTF a konzoli v latin2, budou se znaky v diakritice zobrazovat spravne? Nebo musi i konzole (shell) bezet v UTF?
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
Věroš avatar 15.10.2006 20:32 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
Rozbalit Rozbalit vše Re: Napovídání při hledání
Když máš konzoli v UTF a nějaký program ti píše v ISO-8859-2, tak je to rozsypané.

Probatum est.
Školím Ansible
15.10.2006 20:34 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Napovídání při hledání
Spise obracene. Konzoli mam v Latin2, jak bude mysql vypisovat data, ktera ma interne ulozene v UTF?
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
15.10.2006 23:23 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Napovídání při hledání

Je třeba dát MySQL na vědomí, aby s vámi komunikovala v daném kódování. To vůbec nesouvisí s tím, v jakém kódování jsou data v databázi uložena. Asi nejsnazší je do /etc/mysql/my.cnf přidat něco jako

[client]
default-character-encoding=latin2
Jeden drobný háček zrovna tohoto řešení je: všechny klientské programy MySQL by měly načítat konfiguraci ze sekce client (kromě toho samozřejmě i ze sekce určené jenom pro ně, třeba pro řádkového klienta mysql je to sekce mysql) a když najdou volbu, kterou neznají, považovat to za chybu. A takový mysqlbinlog si zrovna s default-character-encoding neporadí :-( Více třeba na http://dev.mysql.com/doc/refman/4.1/en/charset-connection.html.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
15.10.2006 23:27 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Napovídání při hledání
Nebo samozřejmě jde, jak napsáno výše, použít (zdráhám se tvrdit, že SQL) příkaz set names latin2, ten dělá totéž. Pro aktuální spojení.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
15.10.2006 23:35 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Napovídání při hledání
Jsem pako, odkazuju na dokumentaci a sám to napíšu blbě. Má pochopitelně být default-character-set=latin2
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Josef Kufner avatar 15.10.2006 18:51 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Napovídání při hledání
Odpovědět | Sbalit | Link | Blokovat | Admin
Základem úspěchu je mít všude stejné kódování. Jak v tabulkách, tak dotazech, tak kódu okolo. Jakmile je někde něco jiného, tak jsou s tím jen problémy.

Překlop celé Abíčko i všechno s ním související do UTF-8 a budeš to mít navždy vyřešené ;-)

Převod dat v MySQL je jen o exportu, přenastavení kódování v databázi a importu zpět. A to jak tabulky, tak data &bdash; vymažeš celou DB, nastavíš ji na UTF8 a při importu tohle nastavení všecko zdědí. Ve zbytku už by to neměl být problém. Ještě to chce vyházet veškeré zmínky o kódování v CREATE dotazech.
Hello world ! Segmentation fault (core dumped)
15.10.2006 20:08 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Napovídání při hledání
Pri prvni instalaci na 4.1 jsem zkousel nastavit UTF a nefungovalo mi to. Tak jsem uz vice neexperimentoval a nehledal, kde je chyba. Zdrojaky abicka jsou k dispozici, treba nekdo doma rozjedete abicko plne v UTF a pak mi napisete, jak to udelat spravne. Ja mezitim napisu prepinani abicka do read-only modu.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
15.10.2006 19:12 panda
Rozbalit Rozbalit vše Re: Napovídání při hledání
Odpovědět | Sbalit | Link | Blokovat | Admin
Ahoj v MySql musi byt oba porovnavane retezce ve stejnem kodovani, pokud nejsou tak se da explicitne pretipovat pomoci _JMENOKODOVANI pred retezcem. Takze kdyz porovnavas UTF8 a latin2 tak staci pretipovat retezec v latin2 na UTF8. Vic manual MySQL http://dev.mysql.com/doc/refman/4.1/en/charset-collation-charset.html

Jinak predelat DB do UTF8 je vic nez dobry napad, uz jen kvuli tomu, ze MySql opravdu spravne cesky radi, jen pro UTF8 (o fulltextovem prohledav ani nemluvim :-))
15.10.2006 22:49 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Napovídání při hledání
Odpovědět | Sbalit | Link | Blokovat | Admin
Zrovna dneska jsem něco podobnýho potřeboval - věděl jsem, co hledám, ale nevěděl jsem, jak to najít. I když takhle asi ta nápověda fungovat nebude, co?
Quando omni flunkus moritati
Věroš avatar 16.10.2006 11:03 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
Rozbalit Rozbalit vše Re: Napovídání při hledání
Odpovědět | Sbalit | Link | Blokovat | Admin
Nehledáš Autocompleter na script.aculo.us?

--Věroš
Školím Ansible
Yin avatar 10.11.2006 00:34 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
Rozbalit Rozbalit vše Re: Napovídání při hledání
Odpovědět | Sbalit | Link | Blokovat | Admin
No ja a JS sme celkom kamarati (vie to byt rozumny jazyk, ak mu clovek rozumie do hlbky). Teoreticky by som sa na ten Suggest mohol pozriet zo zabavy, ale az si splnim iste povinnosti ;)
Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.