Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 11, 2014 10:44:20

amfoterius
Зарегистрирован: 2014-02-11
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировки

Здравствуйте,

возникла некоторая сложность: из БД (utf-8) sqlite пытаюсь получить данные запросом, таблицы и поля на русском языке, при запросе выкидывает исключение. Поместил тексты запросов в текстовый файл (utf-8), запросы проходят удачно, в консоли все корректно выводится. Но, при попытке подмены строки (replace) или поиска нужной строки с использованием регулярных выражений (re) он просто не может находить нужные подстроки на русском языке, и приходится также, заносить регулярки и подстроки в текстовый файл.
Вопрос: с чем это может быть связанно? Везде используется одна кодировка. Есть подозрение на среду программирования (pycharm 2.7), но и в ней везде указана кодировка документов utf-8.
Вообщем, такая беда, заранее спасибо за помощь.

P.S: python 33

Отредактировано amfoterius (Фев. 11, 2014 10:44:45)

Офлайн

#2 Фев. 11, 2014 14:26:22

amfoterius
Зарегистрирован: 2014-02-11
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировки

Вопрос решен, в начале файла надо было просто указать явно кодировку (не думал, что 3-ему питону это нужно):

# -*- coding: utf-8 -*-

Офлайн

#3 Фев. 11, 2014 22:50:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Кодировки

amfoterius
не думал, что 3-ему питону это нужно
третьему не нужно, она и так utf-8

amfoterius
но и в ней везде указана кодировка документов utf-8
не смотри, что указано, смотри файл побайтово



Отредактировано py.user.next (Фев. 11, 2014 22:52:15)

Офлайн

#4 Фев. 11, 2014 23:19:42

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Кодировки

amfoterius
любому питону нужно знать в какой кодировке находится файл с исходным кодом. Иначе как он его корректно интерпретирует? В лучшем случае возьмет кодировку по умолчанию, но это не сработает если код в другой кодировке.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version