Redshift 데이터베이스에서 데이터를 가져 오는 Django 앱을 만들고 있습니다. 이 Redshift 데이터베이스에 쓴 사람들은 기괴한 선택을했습니다. 내가파이썬, 유니 코드 : 잘못된 형식의 문자열로 작업하기
u'Let\u2019s play! \\xe2\\x9a\\xbd\\xef\\xb8\\x8f'
파이썬으로이납니다 psycopg2와
Let’s play! \xe2\x9a\xbd\xef\xb8\x8f
나는대로이 렌더링하기로 해요 : 나는이 같은 문자열을 가지고 있다는 사실을 처리하는 방법을 알아 내려고 노력하고있어
놀자! ⚽️
이들은 빨간색 전환 테이블에 varchar(65535)
으로 저장됩니다. 나는 pyscopg2를 사용하여 앱 백엔드 (Django 1.11, Python 2.7)에 끌어다 놓았다. 프런트 엔드에서 JavaScript로 렌더링됩니다.
모든 의견을 보내 주시면 감사하겠습니다. 해결책을 찾지 못했습니다.
당신은 ([글자 깨짐]있어 HTTPS 아래
은 진수 이스케이프 시퀀스를 찾을 수와 UTF-8 디코딩 상당으로 대체하는 정규 표현식이다 : //en.wikipedia.org/wiki/Mojibake)를 데이터베이스에 저장하십시오. 그것은 인코딩을 혼합합니다. 결과를 반환 할 수있는 인코더를 찾을 수 없기 때문에 psycopg2에서 수행 한 결과를 어떻게 얻었는지 확신 할 수 없습니다. U + 2019 코드 포인트를 얻는 것은 Windows-125x 엔코더를 의미하지만, 그 중 아무 것도 오류없이 Python에서 UTF-8 나머지를 반환하지는 않습니다. 문자열의 올바른 UTF-8 인코딩은''\ xe2 \ x80 \ x99s를 재생하자! \ xe2 \ x9a \ xbd \ xef \ xb8 \ x8f "\ –와우, 당신은 psycopg2에서 얻는 것에 대해 옳습니다. 업데이트 된 질문. –