Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 29, 2016 12:07:26

sorok5ok
Зарегистрирован: 2012-11-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

UnicodeDecodeError при подлючение к базе

Добрый день, помогите разобраться с проблемой. Второй день бьюсь
сервер: windows 7 ; mysql-server
клиент: windows 7 ; python2.7

данные для подключения к серверу лежат в файле server.txt

[code ini]root;passwor;database;192.168.0.1[/code]

import mysql.connector
server_connect = []
file_setting = open('server.txt')
for line in file_setting:
    server_connect = line.split(';')
file_setting.close()
db = mysql.connector.connect(user = server_connect[0], password = server_connect[1], host = server_connect[3] , database = server_connect[2])

при выполнение этого кода выдает ошибку UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xcf in position 6: ordinal not in range(128)

когда host прописываю явно (host = ‘192.168.0.1’) подключается без проблем.

Я так понимаю, что адрес сервера как то не так читается из файла.
Подскажите в какую сторону читать.
Спасибо

Отредактировано sorok5ok (Апрель 29, 2016 12:44:00)

Офлайн

#2 Апрель 29, 2016 12:19:21

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

UnicodeDecodeError при подлючение к базе

В алхимии указывается сразу. Как-то так

engine = create_engine(engine_, encoding="cp1251", convert_unicode=True)

Посмотрите, может есть явно в Вашем модуле.

Офлайн

#3 Апрель 29, 2016 13:18:16

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

UnicodeDecodeError при подлючение к базе

sorok5ok
python2.7
во втором питоне необходимо указывать кодировку файла
см PEP 263



Офлайн

#4 Апрель 29, 2016 14:05:23

sorok5ok
Зарегистрирован: 2012-11-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

UnicodeDecodeError при подлючение к базе

Спасибо за помощь.
Кодировку выставил

# -*- coding: utf-8 -*-
не помогло.

нашел костыль.
db = mysql.connector.connect(option_files='server.txt', user = server_connect[1], password = server_connect[0])

server.txt
[client]
database="database"
host="192.168.0.1"


а пароль и имя пользователя из другого файла. (пароль из option_files, почему-то не хватается)

Отредактировано sorok5ok (Апрель 29, 2016 14:32:11)

Офлайн

#5 Сен. 27, 2016 10:00:11

marataziat
От: Алматы
Зарегистрирован: 2016-05-24
Сообщения: 104
Репутация: +  -5  -
Профиль   Отправить e-mail  

UnicodeDecodeError при подлючение к базе

Укажи кодировку файла Python (utf-8)



Я настоящий тюленялюб :)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version