1
mySQL 데이터베이스에서 튜플 목록을 수신했습니다.Python : 러시아어 문자열 디코드
Далоев ÐлекÑандр
<class 'str'>
이 내가 errors='ignore'
PARAMS에 있지만 성공하지 .encode().decode()
의 변화를 많이 시도 https://2cyr.com/decode/?lang=ru
에 따라, CP1251입니다 : 내가 항목을 인쇄하려고 할 때
, 여기에 결과입니다. 어떤 아이디어?
UPD 튜플의 목록을 mysql-connector-python
으로받습니다.
z
이 목록입니다. 여기 z[0][0]
def select_name(add):
z = []
try:
dbconfig = read_db_config()
conn = MySQLConnection(**dbconfig)
cursor = conn.cursor()
cursor.execute("select name from phone_add where ph_add = " + str(add) + ";")
row = cursor.fetchone()
while row is not None:
z.append(row)
row = cursor.fetchone()
return z
except Error as e:
print(e)
finally:
cursor.close()
conn.close()
Upd2 가 이상한 디코더로부터의 결과는 전술 한 것이다. 희망이 있다면 도움이 될 것입니다.
문제가 내 DB에 삽입되는 것을 깨달았습니다. 여기에서 파고들 수 있습니다.
q = string
codings = ['latin1', 'utf8', 'cp1251', 'unicode-escape', 'cp866']
exceptions = ['ignore', 'strict', 'xmlcharrefreplace', 'backslashreplace']
for i in codings:
for j in codings:
for z in exceptions:
for p in exceptions:
try:
print(q.encode(i, errors=z).decode(j, errors=p) + '<------' + i + ' ' + j + ' ' + z + ' ' + p)
except:
pass
해당 코드를 표시하십시오. – wallyk
나는 이것이 "CP1251"이라는 결론에 대해 확실하지 않습니다. 동일한 웹 페이지를 사용하여 다양한 인코딩으로 볼 수는 있지만 읽을 수있는 "러시아어"텍스트가 전혀 나오지 않습니다. – usr2564301
나는 그것이 어떻게 일어나는지 모른다. 하지만이 문자열을 복사 한 후에는 어떻게 든 변하기 때문에이 웹 사이트에서는 사용할 수 없습니다. 아주 stange – Snobby