[python] chyba kódování MySQL

"Ing. Vladislav Ludík" vlada na ludik.cz
Úterý Květen 22 16:03:51 CEST 2012


Zdravím všechny,

nevím si rady s kódováním v MySQL:

Tabulka má strukturu:/

-- phpMyAdmin SQL Dump
-- version 3.3.10deb1
-- http://www.phpmyadmin.net
--
-- Počítač: localhost
-- Vygenerováno: Pondělí 21. května 2012, 14:02
-- Verze MySQL: 5.1.54
-- Verze PHP: 5.3.5-1ubuntu7.2

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Databáze: `brazda`
--

-- --------------------------------------------------------

--
-- Struktura tabulky `zavodnici`
--

CREATE TABLE IF NOT EXISTS `zavodnici` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `prijmeni` varchar(25) COLLATE latin2_czech_cs NOT NULL,
   `jmeno` varchar(25) COLLATE latin2_czech_cs NOT NULL,
   `rok_narozeni` int(4) NOT NULL,
   `pohlavi` enum('M','Ž') COLLATE latin2_czech_cs NOT NULL DEFAULT 'M',
   PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin2 COLLATE=latin2_czech_cs 
AUTO_INCREMENT=1 ;
/

Dále ve sloupci `prijmeni` je příjmení a jméno, sloupec `jmeno` je prazdny.

V programu,  uloženém v kódování latin2 provedu načtení:

/'SELECT prijmeni, rok_narozeni, pohlavi FROM zavodnici WHERE 1 ORDER BY 
jmeno ASC;'/

a rozdělení  na:

/PRIJMENI, Jmeno = string.split(jmeno, ' ', 1)/

Potom provedu zápis do nové tabulky zavodnici1 se stejnou strukturou 
jako má původní tabulka zavodnici:

/'INSERT INTO zavodnici1 (id, prijmeni, jmeno, rok_narozeni, pohlavi) 
VALUES(Null, "%s", "%s", %d, "%s")' % (PRIJMENI, Jmeno, rok_narozeni, 
pohlavi)/

Ve výsledku je v tabulce závodníci1 zmršená čeština některých znaků:

Ň, Ř, ř, Ě, Č apod., kde je znak `?`

Může mi prosím někdo dát tip na vyřešení ? Dost mě to irituje.

Děkuji

Vlada
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20120522/aebf7d87/attachment.html>


Další informace o konferenci Python