#mysql #string #utf-8
#mysql #строка #utf-8
Вопрос:
Эта ошибка возникает всякий раз, когда я пытаюсь вставить приведенную ниже таблицу в схему mysql.
Я использовал код, подобный этому
self.collect.allday_list.to_sql(name=code_name, con=self.collect.engine_allday, if_exists='append')
и self.collect.egine_allday является
self.engine_allday = create_engine("mysql mysqldb://" info.db_id ":" info.db_passwd "@"
info.db_ip ":" info.db_port "/allday_list", encoding = 'utf-8')
и предупреждение: (1366, «Неверное строковое значение: ‘xB4xEBxC7xD1xB9xCE…’ для столбца ‘VARIABLE_VALUE’ в строке 1») результат = self._query(запрос)
в нем нет никаких эмодзи или специальной буквы, но произошла ошибка как мне включить эту таблицу в схему в mysql?
Ответ №1:
Где-то в данных, которые вы пытаетесь вставить, есть текст, закодированный в euc-kr
:
>>> bytes.decode(b'xB4xEBxC7xD1xB9xCE', encoding='euc-kr')
'대한민'
Эти байты не представляют допустимый текст в utf-8. Вы можете попробовать изменить кодировку подключения к базе данных на euc-kr
или преобразовать данные из euc-kr в utf-8 при их чтении.
С другой стороны, на скриншоте данных есть только цифры, никакого текста. Это говорит о том, что вы, возможно, пытаетесь загрузить неправильный файл или что, возможно, существует часть файла, которую вы не хотели вставлять в базу данных.
Комментарии:
1. (
CHARACTER SET
Имя MySQL являетсяeuckr
.)