안 쓰던 블로그

DOMElement::setAttribute(): string is not in UTF-8 에러 해결 방법 본문

메모 및 각종 에러 해결

DOMElement::setAttribute(): string is not in UTF-8 에러 해결 방법

proqk 2016. 7. 16. 20:38
반응형



와 진짜 어이가없어서.. 오늘은 아름다운 10만개의 에러를 보았다

사실 저게 가능한건지도 모르겠다. 왜저랬지


구글을 한참 뒤져봐도 같은 오류를 본 사람은 많은데 해결방법이 어째 죄다 탐탁지않았다.


1
2
3
4
5
6
7
8
9
10
11
while ($row = @mysql_fetch_assoc($result)){
  $node = $doc->createElement("t_data");
  $newnode = $parnode->appendChild($node);
 
  $newnode->setAttribute("name", $row['name']);
  $newnode->setAttribute("address", $row['address']);
  $newnode->setAttribute("lat", $row['lat']);
  $newnode->setAttribute("lng", $row['lng']);
  $newnode->setAttribute("type", $row['type']);
}
 
cs

문제의 코드.

헤더에 charset = UTF-8도 넣어봤지만 해답이 아니다.

이 오류의 해결방법은 utf8을 강제로 넣어주는 수밖에 없다.


1
2
3
4
5
6
7
8
9
10
11
while ($row = @mysql_fetch_assoc($result)){
  $node = $doc->createElement("t_data");
  $newnode = $parnode->appendChild($node);
 
  $newnode->setAttribute("name", utf8_encode($row['name']));
  $newnode->setAttribute("address", utf8_encode($row['address']));
  $newnode->setAttribute("lat", utf8_encode($row['lat']));
  $newnode->setAttribute("lng", utf8_encode($row['lng']));
  $newnode->setAttribute("type", utf8_encode($row['type']));
}
 
cs


메뉴얼에 잘못된 코드를 올려놓는 구글이 나빴음



반응형
Comments