Portál AbcLinuxu, 14. května 2025 03:10

Dotaz: import dat do mysql

18.11.2010 10:41 marky
import dat do mysql
Přečteno: 790×
Odpovědět | Admin
ahoj, kousel jsem pouzit import souboru sql pres prikazovou radku, je to super ale kdyz to naimportuji, tak se rozhodi ceske znaky, zkousel jsem to pres phpmyadmina taky naimportovat a tam to bylo v poradku. poradite prosim jak to muzu opravit ten prikaz aby byla data po importu OK?

mysql -u root -p /home/cz.sql

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

Odpovědi

18.11.2010 11:01 NN
Rozbalit Rozbalit vše Re: import dat do mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Asi mas jine kodovani toho exportu a jine kodovani dat v mysql, takze bych se ubiral timto smerem..

NN
18.11.2010 11:11 marky
Rozbalit Rozbalit vše Re: import dat do mysql
muzete to prosim trosku upresnit? dekuji
18.11.2010 11:42 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: import dat do mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pohraj si s parametrem mysql klienta --default-character-set=charset_name
18.11.2010 11:53 marky
Rozbalit Rozbalit vše Re: import dat do mysql
jj ale nevim jak zjistit ty dve veci kodovani exportu a databaze. dekuji
rADOn avatar 18.11.2010 13:41 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: import dat do mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
  1. Nastav si spravne kodovani v systemu. Nejdriv se podivej z ceho muzes vybirat:
    locale -a
    (Pokud je tam jen C a POSIX, muzes si je dogenerovat, postup zavisi na distru) Vybrany jazyk a kodovani nastav do LC promenne, napriklad cestina a utf8:
    export LC_ALL="cs_CZ.utf8"
    Nakonec si musis nastavit kodovani terminalu (nebo fontu pokud pouzivas systemovou konzoli). Pokud to funguje dobre, dej si ten export do ~/.bashrc.

    Jak vidno je to kapku slozitejsi, ale stoji to za to. Nastaveni pomoci LC_ALL respektuje vetsina programu - nastavis to jednou a mas pokoj. Vetsina distribuci tohle udela automaticky podle toho co vyberes za jazyk pri instalaci.
  2. Pokud to mas dobre nastaveny, pak volbu --default-character-set pro mysql budes potrebovat jen kdyz dostanes do ruky data odjinud vyexportovane v jinem kodovani.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
19.11.2010 11:01 marky
Rozbalit Rozbalit vše Re: import dat do mysql
tak locale -a mi vraci tohle
debian:~# locale -a
C
cs_CZ.utf8
POSIX
debian:~#
rADOn avatar 19.11.2010 18:33 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: import dat do mysql
Tak jsem prave zjistil ze jsem poradil napsal peknou kravinu - ze vsech veci zrovna mysql na LC_ALL zvysoka kasle. Omlouvam se. Znakova stranka se nastavuje globalne v /etc/mysql/my.cnf nebo lokalne v ~/.my.cnf, pro kazdou komponentu ve vlastni sekci. U me to vypada takhle:
[mysql]
default-character-set=utf8
Podle nastaveni locale to vypada ze system mas nastaveny v cs_CZ.utf8 takze by to bylo stacit. (prikaz locale prozradi)
"2^24 comments ought to be enough for anyone" -- CmdrTaco
19.11.2010 22:50 marky
Rozbalit Rozbalit vše Re: import dat do mysql
tady prikladam vypis locale ;)

debian:~# locale
LANG=cs_CZ.UTF-8
LC_CTYPE="cs_CZ.UTF-8"
LC_NUMERIC="cs_CZ.UTF-8"
LC_TIME="cs_CZ.UTF-8"
LC_COLLATE="cs_CZ.UTF-8"
LC_MONETARY="cs_CZ.UTF-8"
LC_MESSAGES="cs_CZ.UTF-8"
LC_PAPER="cs_CZ.UTF-8"
LC_NAME="cs_CZ.UTF-8"
LC_ADDRESS="cs_CZ.UTF-8"
LC_TELEPHONE="cs_CZ.UTF-8"
LC_MEASUREMENT="cs_CZ.UTF-8"
LC_IDENTIFICATION="cs_CZ.UTF-8"
LC_ALL=
debian:~#
20.11.2010 13:45 Pavel
Rozbalit Rozbalit vše Re: import dat do mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hod se vypis mysql prikazu show variables like 'character%';
20.11.2010 14:03 marky
Rozbalit Rozbalit vše Re: import dat do mysql
hm, nejaka chyba

debian:~# show variables like 'character%';
-bash: show: command not found
debian:~#
MMMMMMMMM avatar 20.11.2010 18:20 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: import dat do mysql
to je příkaz pro mysql ;-) (zadat třeba přes phpmyadmina)
21.11.2010 18:38 marky
Rozbalit Rozbalit vše Re: import dat do mysql
aha, omlouvam se, tak tady to je, snad je to ono, udelal jsem to pres sql dotaz
Variable_name 	Value 
character_set_client	utf8
character_set_connection	utf8
character_set_database	latin1
character_set_filesystem	binary
character_set_results	utf8
character_set_server	latin1
character_set_system	utf8
character_sets_dir	/usr/share/mysql/charsets/
21.11.2010 20:19 Pavel
Rozbalit Rozbalit vše Re: import dat do mysql
Sam vidis, ze v tom mas gulas :-) Co nastavit vsude utf8 krome character_set_filesystem?
22.11.2010 02:54 marky
Rozbalit Rozbalit vše Re: import dat do mysql
tak jsem prosel snad uz vsechny soubory ale nemuzu najit kde se to nastavuje :(
22.11.2010 09:24 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: import dat do mysql
Myslím si, že potřebuješ dostat server do utf8.
mysql (none)> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin2                     | 
| character_set_connection | latin2                     | 
| character_set_database   | utf8                       | 
| character_set_filesystem | binary                     | 
| character_set_results    | latin2                     | 
| character_set_server     | utf8                       | 
| character_set_system     | utf8                       | 
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
Debian lenny, /etc/mysql/my.cnf:
[mysqld-5.0]
....
character-set-server    = utf8
collation-server        = utf8_czech_ci
....
22.11.2010 11:50 marky
Rozbalit Rozbalit vše Re: import dat do mysql
tak v tom souboru nemam ani jeden s techto radku ktere bych mohl upravit
character-set-server    = utf8
collation-server        = utf8_czech_ci
mam je tam dopsat? to asi ne, ne?

dekuji
22.11.2010 12:37 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: import dat do mysql
Přesně tak, zkus je tam dopsat, když tam nejsou :)

Obvykle softy fungují tak, že mají nějaké defaultní hodnoty konfiguračních parametrů (v tvém případě zřejmě latin1) a můžeš je přetížit uvedením parametru s novou hodnotou do konfiguráku.

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.