Portál AbcLinuxu, 14. května 2025 03:10
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.
--default-character-set
pro mysql budes potrebovat jen kdyz dostanes do ruky data odjinud vyexportovane v jinem kodovani.
debian:~# locale -a
C
cs_CZ.utf8
POSIX
debian:~#
/etc/mysql/my.cnf
nebo lokalne v ~/.my.cnf
, pro kazdou komponentu ve vlastni sekci. U me to vypada takhle:
[mysql] default-character-set=utf8Podle nastaveni locale to vypada ze system mas nastaveny v cs_CZ.utf8 takze by to bylo stacit. (prikaz
locale
prozradi)
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:~#
show variables like 'character%';
debian:~# show variables like 'character%'; -bash: show: command not found debian:~#
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/
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 ....
character-set-server = utf8 collation-server = utf8_czech_cimam je tam dopsat? to asi ne, ne? dekuji
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.