Найти - Пользователи
Полная версия: UnicodeDecodeError при подлючение к базе
Начало » Базы данных » UnicodeDecodeError при подлючение к базе
1
sorok5ok
Добрый день, помогите разобраться с проблемой. Второй день бьюсь
сервер: 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’) подключается без проблем.

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

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

Посмотрите, может есть явно в Вашем модуле.
FishHook
sorok5ok
python2.7
во втором питоне необходимо указывать кодировку файла
см PEP 263
sorok5ok
Спасибо за помощь.
Кодировку выставил
# -*- 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, почему-то не хватается)
marataziat
Укажи кодировку файла Python (utf-8)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB