본문 바로가기
Develop/Network

String contains non ISO-8859-1 code point.

by 3-stack 2022. 9. 15.

[문제]

String contains non ISO-8859-1 code point.

 

[원인]

ISO-8859-1 에 포함되지 않은 값을 사용해서 그렇다.
ISO/IEC 8859-1:1998(별칭: Information technology - 8-bit single-byte coded graphic character sets - Part 1: Latin alphabet No. 1)[1] ISO/IEC 8859의 일부인 문자 집합으로, 약칭 라틴-1(Latin-1)로 불린다.

 

[해결]

URI 사양에서 UTF-8 인코딩 해야한다.

 

[참고]

인코딩 종류

1. escape() : unescape()  ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 1234567890 @*-_+./

위에서 열거된 문자가 아니면 모두 변환을 합니다. 1바이트문자는 %XX 형태로 2바이트 문자는 %uXXXX 식으로 변환합니다.

2. encodeURI() : decodeURI()
escape()와 같이 변환을 하지만, 인터넷 주소에서 쓰는 특수 문자  : ; / = ? &  는 변환을 하지 않습니다.

3. encodeURIComponent() : decodeURIComponent()
인터넷 주소에서 쓰는 특수 문자  : ; / = ? &  까지 변환을 합니다. 인터넷 주소를 하나의 변수에 넣을때 쓸 수 있습니다.  

★ 덧붙임 : encodeURIComponent() 는 UTF-8 로 인코딩 하는 것과 같음

 

 

 

댓글