• 목록
  • 아래로
  • 위로

안녕하세요?


닷홈 무료 호스팅을 사용하고 있는데요.


PHP로 파싱한 데이터의 인코딩과 관련된 문제가 계속 발생하네요 ㅠㅠ


아마도 다른 분들께서 보시기엔 간단한 문제일 것 것 같은데 제가 도저히 해결을 못해서 질문드려요 ㅜㅜ



닷홈의 PHPMyAdmin에서 확인을 해보면 인코딩이 다음과 같네요.






파싱한 사이트(네이버)의 인코딩은 다음과 같습니다.





네이버에서 파싱한 결과를 바로 출력해도 깨지고


$result = iconv("UTF-8", "EUC-KR", $string); 이런 방식으로 인코딩을 변경하려고 해도 깨져서 나오네요 ㅠㅠ


이미지를 파싱한 것은 문제없이 출력이 되고 있거든요.


이런 상황에서는 어떤 설정을 건드려야 되는 것인지 여쭤봅니다.



HTML의 <meta charset="utf-8"> 또는 


PHP의 header('Content-Type: text/html; charset=utf-8'); 설정과 관련된 문제일 것이라는 생각이 들어서


EUC-KR, CP949, UTF-8을 바꿔가면서 시도해봐도 안 되네요 ㅠㅠ



그럼 스포어 회원님들께서도 굿밤 되세요!


항상 감사드려요 ^^


작성자
이니스프리 119 Lv. (0%) 1973550/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 6

title: 황금 서버 (30일)humit
profile image

혹시 데이터베이스 테이블의 컬럼의 캐릭터셋이 어떻게 되어있나요??

comment menu
2019.07.11. 09:48

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → humit
profile image

오오~ 번번이 답변 감사합니다!

제가 DB를 잘 다루지 못해서요 ㅠㅠ

show table status로 확인해보니 utf8_general_ci라고 나오네요 ^^

 

그런데 제가 아직 파싱을 해서 DB에 넣은 단계는 아니구요.

오토셋 대용으로 에디터에서 FTP로 바로 저장해서 PHP 돌려보는 용도로 닷홈 무료호스팅을 사용하고 있는거라서요.

단순히 PHP 파일에서 echo로 바로 출력해보면 문제가 없는데요.

파싱한 결과를 출력하는데 인코딩 문제를 겪고 있네요 ㅠㅠ

VS Code가 UTF-8로 설정되어 있는 것이 문제일까요?

계속 잘 안 되어서 카페24로 옮겨야 하는지 고민하고 있어요!

 

비도 그쳤는데 humit 님께서도 좋은 오후 되시고

바쁘시겠지만 저녁식사 맛있게 드세요! ^^

항상 감사드립니다~

comment menu
2019.07.11. 15:44

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

title: 황금 서버 (30일)humit
profile image

아 PHPMyAdmin에서 character set에 대해 올려놓으셨길래 DB에 저장하신줄 알았네요.

 

혹시 파싱을 하실 때 특정 라이브러리를 사용해서 작업하고 계신가요??

comment menu
2019.07.13. 23:57

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → humit
profile image

앗 바쁘신데 답변해주셔서 감사합니다!

 

저는 그렇게 PHPMyAdmin을 조회해서 확인해야 호스팅의 인코딩 설정을 알 수 있는 것인지 알았네요 ㅠㅠ

 

Simple HTML DOM Paser 등 어떠한 라이브러리를 사용하지 않고 네이버를 바로 파싱했습니다.

 

curl로 불러오고, DOMXPath와 getAttribute로 접근한 다음에 정규식을 사용했거든요.

 

혹시 개발자도구에서 네이버가 UTF-8처럼 보여도 실제로는 UTF-8이 아닐 수도 있는건가요?

 

그럼 humit 님께서도 저녁식사 맛있게 드세요~

comment menu
2019.07.14. 17:59

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

title: 황금 서버 (30일)humit → 이니스프리
profile image
+1

UTF-8로 가져오는 것은 맞습니다. 다만 DOMXPath 부분으로 사용하시는 부분에서 해당 문제가 발생한 것으로 보이네요.

 

https://www.php.net/manual/en/domdocument.loadhtml.php#74777

 

해당 내용이 도움이 되실 것 같습니다.

comment menu
2019.07.15. 20:24

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → humit
profile image
+1

앗 감사합니다!!

제가 전혀 예측하지 못했던 부분에서 문제가 있었군요~

어쩐지 인코딩을 계속 바꿔가면서 시도해봐도 안 되더군요 ㅠㅠ

말씀해주신대로 loadHTML()을 하기 전에 mb_convert_encoding() 하도록 하겠습니다.

구체적으로 어떤 점에서 차이가 있는지는 모르겠지만 파이썬과 PHP는 사뭇 다르네요 ㄷㄷ

인코딩 문제 때문에 제목과 본문을 제외한 URL 밖에 가져오지 못했는데

말씀해주신 부분을 참고해서 완성하도록 하겠습니다!

바쁘신데 번번이 감사합니다 ^-^

comment menu
2019.07.15. 21:40

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 969
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4643
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4479
666 브라우저와 기본응용프로그램과의 양방향 통신에 대하여 6 Hanam09 18.12.16.17:49 384
665 제가 도메인 연결 제대로 한건지.. 1 Ursus 16.08.28.23:50 384
664 도메인 설정 도와주세요!!! 3 alstn 17.07.30.20:46 382
663 하드 디스크의 데이터 소거와 관련하여 17 image 제르엘 23.12.15.01:12 380
662 네임서버 설치 6 루니 17.08.26.01:17 378
661 동영상 스트리밍을 해주는 모듈설치...? 8 비빅 16.10.12.13:13 377
660 머신러닝 용도로 노트북을 구매하려고 하는데 MSI 게이밍 노트북도 괜찮을까요? 12 이니스프리 21.01.31.22:26 376
659 Youtube Music Engine 외부차트 가져오기 7 title: 에그joyful 18.05.27.19:48 376
658 호스팅 연장할때도 포인트가 필요한가요? 9 국내산라이츄 17.07.22.23:45 375
657 타겟 질문.. 도다님께 미디어위키 관련 질문이 있는데요 4 마카롱 17.06.24.00:21 375
656 studyforus 커뮤니티 브라우저 호환문제?! 으음.. 3 image 포비 16.09.10.08:23 375
655 도메인 연장이 고민입니다. 3 260578 18.01.20.12:03 372
654 이거 저작권 침해인가요? (사람에 따라 혐짤 주의) 11 image 물여우 17.07.18.21:41 372
653 그누보드5 는 php 몇버전이 적당한가요? 4 핫슈 20.09.20.08:20 370
652 리눅스에서.. 무선랜카드 활성화?켜기? 3 홀민 19.09.10.02:26 370
651 ICANN 인증 도메인 등록기관과 리셀러 간에 차이가 큰 가요? 5 이니스프리 17.02.05.21:52 369
650 저의 주소는 어떻게 되는지요. 7 gobiyah 16.10.30.18:06 369
649 갑자기 소유한 모든 Freenom 도메인이 작동을 안하네요. 6 Yell 21.04.29.09:55 367
닷홈 인코딩 설정 관련해서 질문 드려요 ㅠㅠ 6 image 이니스프리 19.07.11.00:38 366
647 자바스크립트로 RSA 암호화와 AES 암호화를 구현할 수 없나요? 1 Hanam09 17.08.21.17:36 366