1

사용자가 내 웹 사이트에 문자열을 입력합니다. 그들은 ASCII 문자가 아닌 문자를 입력합니다.python3 인쇄 함수가 'ascii'를 출력합니다. 코덱이 문자 오류를 인코딩 할 수 없습니다.

자바 스크립트는 입력 내용을 저장하고 JSON.stringify()로 패키징 한 다음 서버로 보냅니다. Python3를 실행

서버는 다음

print('looks like {}'.format(node_obj)) 

내가

'ascii' codec can't encode character error '\u2212' in position 941: ordinal not in range(128) 

는 것 같다 오류를받을 줄을 실행 json.loads와 JSON의 압축을 풀고 노드 객체에서이 문자열을 저장 나에게 파이썬 3의 print 함수는 유니 코드 문자열을 ascii로 변환하려고 시도하고있다! (ASCII 인코딩을 사용하여 bytes 객체로 변환 하시겠습니까?)

FreeBSD 서버가 UTF-8을 지원하지 않아서 파이썬의 인쇄 기능이이 변환을 할 수 있습니까? 또는 문자열은 처음에는 적절하게 소독되지 않았으며 자바 스크립트에서 사용자가 처음 받았을 때 문자열을 사용해야합니다.

추가 정보가 유용하다는 사실을 알려주세요.

답변

2

locale 명령은 무엇을 말합니까?

당신은 LANG=en_US.UTF-8 또는 PYTHONIOENCODING=utf-8과 함께 utf-8을 사용할 수 있습니다. https://unix.stackexchange.com/questions/342817/how-do-i-add-a-language-in-freebsd

+0

퍼센트 로케일 LANG = LC_CTYPE = "C" LC_COLLATE = "C" LC_TIME = "C" LC_NUMERIC = "C" LC_MONETARY : 기본 환경에서 LANG 설정

는 플랫폼에 따라 다릅니다 = "C" LC_MESSAGES = "C" LC_ALL = – mareoraft

+0

'export LANG = "en_US.UTF-8"'을 실행하면 효과가 있다고 생각합니다. 나는 그것이 옳은지 확인하기 위해 대답을 받기 전에 잠시 동안 기다릴 것입니다. – mareoraft

+0

예, OS에 적합한 방식으로 UTF-8을 사용하도록 LANG 환경 변수를 설정하는 것이 올바른 해결책입니다. – mareoraft