Я использую cx_Oracle v7.1.3 с Python 3.6.4.Моя текущая база данных Oracle имеет английские, японские и числовые значения.Английские и числовые значения извлекаются нормально, но текст на японском языке отображается как '???'
.
Моя первая мысль была о том, что нужно было что-то сделать с кодировкой, возможно, ASCII по умолчанию вызовет проблему,поэтому я использовал str.encode (), чтобы попытаться закодировать японские строки в UTF8, но безрезультатно.При их печати они просто показывают b'????'
with open('get_table_names.sql', 'r') as file:
for line in file:
SQL_QUERY = str(line)
cursor.execute(SQL_QUERY)
# Inner cursor to read inner fields
new_cursor = connection.cursor()
for desc, table_name in cursor:
# print(cursor.description)
new_cursor.execute("SELECT * FROM {}".format(table_name.lower()))
Блок with, open просто читает запрос SQL из файла.Курсор выполняет это и извлекает имена всех таблиц, которые должны быть запрошены, а new_cursor используется для чтения каждой таблицы.
Любая и вся помощь будет оценена.