Как вставить и выбрать греческие слова в mysqldb - PullRequest
4 голосов
/ 06 февраля 2012

У меня есть база данных, и я использую Mysqldb.
Я хочу вставить и выбрать тип символов данных, и эти символы на греческом языке.
Я установил параметры сортировки своей базы данных в utf-8_general_ci, но, когда я вставляю греческое слово, я вижу какие-то странные символы, затем я пытаюсь выбрать через python строки этой таблицы, и в результате получается (1,??????).

Может кто-нибудь помочь мне, пожалуйста? Спасибо

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012

Возможно, проблема с вашей кодировкой, убедитесь, что в python установлена ​​utf8, и попробуйте установить db:

set character_set_database = utf8;
set character_set_server = utf8;
set character_set_system = utf8;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;
set names utf8;

Или используйте набор греческих символов: -)

Python:

db = MySQLdb.connect(host="localhost",
use_unicode = True, charset = "utf8",
user=username, passwd=password, db=database)

Затем для вывода необходимо указать строку Unicode:

print (yourStringFromDatabase).encode("iso-8859-1")
2 голосов
/ 06 февраля 2012

Используете ли вы юникод со стороны Python?

Секретный компонент заключается в добавлении charset = ”utf8 ″ к параметрам вашего соединения и use_unicode = True. Source

db = MySQLdb.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASS, db=DB_NAME, charset="utf8", use_unicode=True)

Обратите внимание, что, продолжая далее, в то время как в Python 3 строки Unicode являются нормой, в более ранних версиях строки Unicode и строки - это разные вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...