Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno pmpMyAdmin - SQL import tabuľky má problém s diakritikou

Mám tento SQL príkaz:

CREATE TABLE `sekcie` (
  `id` int(11) NOT NULL auto_increment,
  `nazov` varchar(40) collate utf8_slovak_ci NOT NULL default '',
  `hlavna` varchar(40) collate utf8_slovak_ci NOT NULL default '',
  `hlavna2` varchar(40) collate utf8_slovak_ci NOT NULL default '',
  `por` int(11) NOT NULL default '0',
  `page` longtext collate utf8_slovak_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci AUTO_INCREMENT=163 ;

-- 
-- Sťahujem dáta pre tabuľku `sekcie`
-- 

INSERT INTO `sekcie` VALUES (155, 'Hydraulické šróbenie', 'nic', 'nic', 3, '');
INSERT INTO `sekcie` VALUES (156, 'Príchytky na trubky', 'nic', 'nic', 4, '');
INSERT INTO `sekcie` VALUES (157, 'Rýchlospojky', 'nic', 'nic', 5, '');
INSERT INTO `sekcie` VALUES (158, 'Gu3ové ventily', 'nic', 'nic', 6, '');
INSERT INTO `sekcie` VALUES (159, 'Manometre', 'nic', 'nic', 7, '');
INSERT INTO `sekcie` VALUES (160, 'Pneumatika', 'nic', 'nic', 8, '');
INSERT INTO `sekcie` VALUES (154, 'Priemyselné hadice', 'nic', 'nic', 2, '');
INSERT INTO `sekcie` VALUES (153, 'Hydraulické hadice', 'nic', 'nic', 1, '');
INSERT INTO `sekcie` VALUES (161, 'úroveo 2', 'Hydraulické hadice', 'nic', 0, '');
INSERT INTO `sekcie` VALUES (162, 'úroveo 3', 'Hydraulické hadice', 'úroveo 2', 0, '');

Odovzdávam ho do phpMyAdmin do databázy. Po prezretí obsahu tabuľky po vykonaní príkazu zisťujem, že texty sú od diakritiky odseknuté. Ťažko vysvetliť, takto to vyzerá po exporte, čiže vlastne toto sa mi vytvorí v tabuľke (jedná sa o problém s diakritikou zrejme):

CREATE TABLE `sekcie` (
  `id` int(11) NOT NULL auto_increment,
  `nazov` varchar(40) collate utf8_slovak_ci NOT NULL default '',
  `hlavna` varchar(40) collate utf8_slovak_ci NOT NULL default '',
  `hlavna2` varchar(40) collate utf8_slovak_ci NOT NULL default '',
  `por` int(11) NOT NULL default '0',
  `page` longtext collate utf8_slovak_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci AUTO_INCREMENT=163 ;

-- 
-- Sťahujem dáta pre tabuľku `sekcie`
-- 

INSERT INTO `sekcie` VALUES (155, 'Hydraulick', 'nic', 'nic', 3, '');
INSERT INTO `sekcie` VALUES (156, 'Pr', 'nic', 'nic', 4, '');
INSERT INTO `sekcie` VALUES (157, 'R', 'nic', 'nic', 5, '');
INSERT INTO `sekcie` VALUES (158, 'Gu3ov', 'nic', 'nic', 6, '');
INSERT INTO `sekcie` VALUES (159, 'Manometre', 'nic', 'nic', 7, '');
INSERT INTO `sekcie` VALUES (160, 'Pneumatika', 'nic', 'nic', 8, '');
INSERT INTO `sekcie` VALUES (154, 'Priemyseln', 'nic', 'nic', 2, '');
INSERT INTO `sekcie` VALUES (153, 'Hydraulick', 'nic', 'nic', 1, '');
INSERT INTO `sekcie` VALUES (161, '', 'Hydraulick', 'nic', 0, '');
INSERT INTO `sekcie` VALUES (162, '', 'Hydraulick', '', 0, '');

Vie niekto poradiť, ako to importovať správne?

Neviem aké údaje mám poskytnúť, opýtajte sa, napíšem odpoveď.

Předmět Autor Datum
co vím, tak si musíš dát pozor na to, v jakém kódování ti jede MySQL a jak ti ho tam předá phpAdmin…
touchwood 06.07.2007 19:12
touchwood
Nepíšeš nic o tom, v jakém kódování je ten SQL příkaz a jaké kódování má nastavena MySQL databáze.…
host 06.07.2007 20:03
host
Všade mám nastavené utf8-slovak-ci a tam, kde nie je možnosť zadať aj jazyk, tak len utf8.
msx. 07.07.2007 00:40
msx.
Problém bol v tom, že som to dal vykonať ako texťák. Vložil som to teraz pomocou Ctrl+V a je to dobr… poslední
msx. 09.07.2007 12:00
msx.

co vím, tak si musíš dát pozor na to, v jakém kódování ti jede MySQL a jak ti ho tam předá phpAdmin (tj. jak je nastaveno webové rozhraní).

Pokud máš přístup přímo k SQL, zkus to naimportovat následovně:

mysql --default-character-set=binary <databáze> <soubor.sql

edit
: rozhodně ale nejsem MySQL guru :-)

Nepíšeš nic o tom, v jakém kódování je ten SQL příkaz a jaké kódování má nastavena MySQL databáze.

A jak ten SQL dotaz vkládáš do phpMyAdmina? Načtením ze souboru nebo vložením (Ctrl+V) do textarea pro SQL dotaz? Zkus oba způsoby!

Zpět do poradny Odpovědět na původní otázku Nahoru