Problem z kodowaniem ISO-8859-2 (latin2) w pythonie + mysql

37 views
Skip to first unread message

Dawid Figiel

unread,
May 7, 2008, 3:47:18 AM5/7/08
to Pykonik
Witam,


Piszę mały skrypt, który wczytuje słownik wyrazów polskich,
kodowanie ISO-8859-2 (inaczej latin2) do lokalnej bazy mysql'owej.
Jestem w środowisku linuksowym (ubuntu), a z bazą łącze się przy
pomocy biblioteki mysql-python-1.3.3.
Po wczytaniu słowa ze znakami polskimi mam w bazie krzaczki;/ ...
jeżeli bezpośrednio wczytuje porzez inserta jakiegoś stringa typu
"żźćąęłó..." wszystko jest ok (kodowanie tabeli ustawione na latin2).
Podejrzewam, że to wina pythona (?), biblioteki mysql-python-1.*.*
(?) .... lub ustawień locali (?)..., a może kodowania w samym pliku
skryptu pythona..(# code: latin2) jednak metoda prób i błędów już mi
się mówiąc delikatnie znudziła...

Czy ktoś miał podobny problem lub/i zna rozwiazanie mojego ?

ładnie proszę o pomoc :)

dzięki.

--
pozdrawiam,

D.F.

Mateusz Biliński

unread,
May 7, 2008, 3:55:43 AM5/7/08
to pyk...@googlegroups.com
2008/5/7 Dawid Figiel <dawid....@gmail.com>:

Probowales explicite uzywac 'encode' i 'decode'?

Pytanie dodatkowe (moze sie przydac pozniej): jakiej wersji Pythona uzywasz?

--
Pozdrawiam -- Mateusz Biliński

Merlin

unread,
May 23, 2008, 9:01:14 AM5/23/08
to Pykonik
Biblioteka raczej jest w porządku:) Wydaje mi się że nie podajesz przy
połączeniu jakiego kodowania chcesz używać i łączysz się z domyślnym
kodowaniem -> zobacz na do mysql.conf albo zerknij na zmienne
środowiskowe jak są ustawione podczas połączenia. jest ich kilka...

Ja do mysql'a kiedyś używałem czegoś takiego:

import MySQLdb

conn = MySQLdb.connect(host = "host.test.pl",
user = "login",
passwd = "haslo",
db = "baza",
port = 3306,
charset = "latin1")

PS Podane przez Mateusza funkcje tez powinny być przydatne...

Dawid Figiel

unread,
May 23, 2008, 10:43:33 AM5/23/08
to pyk...@googlegroups.com


2008/5/23 Merlin <niel...@gmail.com>:


Dzięki za pomoc:)
Udało mi się rozwiązać problem. Wystarczyło odpowiednio zmienić plik konfiguracyjny bazy... i tam ustawić w kilku miejscach kodowanie.


--
pozdrawiam,

Dawid Figiel
Reply all
Reply to author
Forward
0 new messages