제목 | euc--kr에서 utf-8로 변환시 변환이 안되서 일부 깨지는 한글 처리 방법 있을까요?? | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 기브 | 작성시각 | 2019/09/20 14:49:22 |
|
|||
EUC-KR로 된 API 사이트가 있는데 이곳을 호출하여 데이터를 XML 형태로 받아옵니다. 호출해 데이터를 받는 페이지에선 UTF-8로 인코딩이 되어있어 데이터를 받아온 후 mb_convert_encoding 으로 변환을 하여 xml 데이터를 읽어오는데요. 닣, 뚸 같은 단어가 들어갈 경우 XML이 제대로 파싱이 되지 않아 데이터를 읽어 오지 못하는 경우가 발생합니다. 이런문제가 발생하지 않도록 처리할 수 있는 방법이 있는지 궁금합니다.
|
|||
다음글 | Composer + CodeIgniter 구조가 이게 ... (6) | ||
이전글 | 수정 페이지 셀렉트박스에서, 등록시 선택한 값 DB에서... (1) | ||
변종원(웅파)
/
2019/09/20 14:53:59 /
추천
0
https://www.php.net/manual/en/function.mb-detect-encoding.php 이 함수를 이용해서 euc-kr 이 맞는지 확인해보세요.
|
기브
/
2019/09/20 15:00:05 /
추천
0
답변 감사합니다. 확인해보니 EUC-KR은 맞습니다. 전체가 한글이 깨져 나오는것은 아니며, 일부 단어들이 깨져 나옵니다. 닣 or 뚸 같은 단어들에 한해서 깨져나오는 증상이네요 ㅠ |
엽토군
/
2019/09/22 09:46:11 /
추천
0
원 데이터 자체는 멀쩡히 들어오나요? 그리고 체감상 한국어 EUC-KR은 iconv()가 mb보다 더 효과가 좋더군요.
|
기브
/
2019/09/23 09:50:15 /
추천
0
일부 한글에 대해선 UTF-8로 변환이 안되는듯 합니다. ㅠㅠ
|
기브
/
2019/09/23 09:50:46 /
추천
0
물론 mb_convert_encoding 으로 처리합니다.
|
변종원(웅파)
/
2019/09/23 16:23:29 /
추천
0
$a = "닣"; echo '1 '.$a.'<br>'; $b = iconv( 'utf-8','euc-kr', $a); echo '2 '.$b.'<br>'; $c = iconv( 'euc-kr','utf-8', $b); echo '3 '.$c.'<br>';
iconv(): Detected an illegal character in input string 라고 나오네요.
mb_convert_encoding 함수는 닣 -> 변환 -> 꿔 로 바뀝니다. |
기브
/
2019/09/24 16:58:13 /
추천
0
답변 감사합니다. 그럼 해당 문제는 깨지지않게 변환되는건 안되나보네요. 다른방법을 찾아봐야되겠네요.. 감사합니다. |
쌈닭
/
2019/09/25 12:16:29 /
추천
0
euc-kr 대신 cp949(cp-949???)로 변환해 보세요...
|