Portál AbcLinuxu, 12. listopadu 2025 15:54
enca -L czech soubor.sql mysql -e "show variables like '%character%'" cat /etc/my.cnf cat ~/.my.cnf
1) zkontrolovat character set u sloupců a tabulky:
show create table jmeno_tabulky;
2) zkontrolovat character set u databáze:
show create database jmeno_databaze;
Pokud to je v pořádku, tak úložiště je nastavený správně a chyba je při komunikaci se serverem. Možné chyby vidím 2:
1) český text není v utf8
2) vložené set names utf8 je někde dále ve skriptu "přebito".
./zaloz uzivatel "popis s diakritikou" (vytvori soubor.sql a pak ho naimportuje do mysql)
show create database databaze;
show create table tabulka;
? Když si na konec toho skriptu dáš:
show variables like '%character%';, tak to vypíše co ?
1) přepnout kódování terminálu do utf8 2) připojit se k databázi: mysql --default-character-set=utf8 databze 3) select na ty data
wget -O - -q http://kf.fyz.fce.vutbr.cz/pub/abeceda_utf8A odpověz nám na všechny dotazy, ať tady nemusíme věštit z křišťálové koule.
SET NAMES utf8;
Universal transformation format 8 bits; UTF-8 Doubly-encoded to UTF-8 from KOI-8_CS_2
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
Database Create Database
pureftpd CREATE DATABASE `pureftpd` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_czech_ci */
Table Create Table
ftpd CREATE TABLE `ftpd` (\n `User` varchar(16) NOT NULL default '',\n `status` enum('0','1') NOT NULL default '0',\n `Password` varchar(64) NOT NULL default '',\n `Uid` varchar(11) NOT NULL default '-1',\n `Gid` varchar(11) NOT NULL default '-1',\n `Dir` varchar(128) NOT NULL default '',\n `ULBandwidth` smallint(5) NOT NULL default '0',\n `DLBandwidth` smallint(5) NOT NULL default '0',\n `comment` tinytext NOT NULL,\n `ipaccess` varchar(15) NOT NULL default '*',\n `QuotaSize` smallint(5) NOT NULL default '0',\n `QuotaFiles` int(11) NOT NULL default '0',\n PRIMARY KEY (`User`),\n UNIQUE KEY `User` (`User`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/Jinak z php aplikace pod apachem jde do databáze krásně česky vkládat.
defaut character set latin1.
iconv -fISO-8859-2 -tUTF8//TRANSLIT sqldump.sql | mysql -uuser -p database
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.