안녕하세요. MySQL에 문자열 값을 저장하려고하는데 db.escape_string()을 사용하므로 특수 문자를 이스케이프 처리하지 않습니다. 문자열은Python의 MySQL : UnicodeEncodeError : 'ascii'
Lala*=#&%@<>_?!:;-'"/()¥¡¿
입니다하지만 코드를 실행하려고하면이 오류 얻을 :
UnicodeEncodeError: 'ascii' codec can't encode characters in position 23-25: ordinal not in range(128)
어떻게해야합니까를?
newStr = u'Lala*=#&%@<>_?!:;-'"/()¥¡¿'
대신 'u'something로, 유니 코드로 선언해야합니다 :
을 피하기 위해 당신의 문자열에서 문자를 '탈출을주의하시기 바랍니다 변수를 편집 할 수 없습니까? 예 : 문자열이 이미 STR에 저장되어 있습니다. 그걸 어떻게 추가 할 수 있니? – weyhei
'STR.decode ('utf-8')'는 적절한 인코딩으로'unicode' 객체로 변경합니다. – FakeRainBrigand
시도했습니다. 하지만 다른 오류가 발생했습니다 : 파일 "/usr/lib/python2.7/encodings/utf_8.py", 디코드 코드에서 return codecs.utf_8_decode (input, errors, True) UnicodeEncodeError : 'ascii'코덱은 문자를 위치 23-25로 인코딩 : 서수가 범위 내에 없음 (128) – weyhei