300x250

다트언어로 웹스크래핑이 필요했다.

헌데 http 응답 문자열 인코딩이 utf-8로 되었을줄 알고 ut8로 디코딩하였고 한글이 깨져보였다.

 

원인은

응답 문자열 인코딩이 EUC-KR 이였던고 안타깝게도 dart 는 네이티브하게 비 유니코드 ( non-unicode ) 를 지원하지 않는다고 한다 ( 출처는 아래 패키지에 설명 되어 있다.  패키지 내용은 잠시후에 설명 ) https://pub.dev/packages/cp949_dart

 

cp949_dart | Dart Package

c949 encode, decode for dart

pub.dev

 

 

해결 방법은

위 패키지 ( 배포해주신분 너무 감사합니다 ㅜㅜ ) 를 가져와

비 유니코드로 인코딩된  responseBytes / byte 배열 ( Uint8List ) 을 디코딩하면 된다.

자세한 내용은 패키지 Readme에 적혀있으니 참고하면 된다~!~!

 

 

reponse header content-type char-set를 확인하자!

반응형

+ Recent posts