php xml파서인데 xml문자셋타입이 UTF-8이고 서버및 DB 타입은 EUC-KR입니다. 한글깨짐 및 에러가 나오는데 수정좀..
<html>
<head>
<title>연합뉴스 샘플</title>
<meta http-equiv="Content-Type" content="text/xml; charset=euc-kr">
<style type="text/css">
TD {
font-size :10pt;
}
</style>
</head>
<body>
<?
$xml_parser = @xml_parser_create("UTF-8") or die("XML 파서를 생성하지 못했습니다.");
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, FALSE);
$fp = @fopen("ynews.xml", "r") or die("XML 파일을 가져오지 못했습니다.");
while(!feof($fp)) {
$data = fgets($fp);
if(!xml_parse($xml_parser, trim($data), feof($fp))) {
die("에러 위치 : " . xml_get_current_line_number($xml_parser) . "번째 줄, " . xml_get_current_column_number($xml_parser) . "번째 위치<br>\n" .
"에러 메시지 : " . xml_error_string(xml_get_error_code($xml_parser))
);
}
}
xml_parser_free($xml_parser);
?>
</body>
</html>
<?
// XML 문서 파싱 중 열리는 태그(ex: <title>)를 만났을 때 호출되는 핸들러
function startElement($parser, $name, $attr) {
switch ($name) {
case "YnewsML" :
echo "<table width=620 border=0 cellspacing=1 cellpadding=3 bgColor=#000000>\n";
break;
case "Title" :
echo "<tr>\n";
echo " <td width=100 align=center bgColor=#CACED8><b>제목</b></td>\n";
echo " <td bgColor=#E2E4E8>";
break;
case "Body" :
echo "<tr>\n";
echo " <td width=100 align=center bgColor=#CACED8><b>내용</b></td>\n";
echo " <td bgColor=#E2E4E8>";
break;
echo "<li>";
break;
}
}
// XML 문서 파싱 중 닫히는 태그(ex: </title>)를 만났을 때 호출되는 핸들러
function endElement($parser, $name) {
switch ($name) {
case "YmewsML" :
echo "</table><br>\n\n";
break;
case "Title" :
case "Body" :
break;
echo "</li>\n";
break;
}
}
// XML 문서 파싱 중 태그사이의 내용(ex: '임베디드 하드웨어 이해와 설계')을 만났을 때 호출되는 핸들러
function characterData($parser, $cdata) {
echo iconv("EUC-KR", "UTF-8", $cdata);
}
?>
----------------------------------------------------------------------------------------------------------
이상 php의 소스이고 XML문자셋은 UTF-8 입니다.
즉 XML문서 파싱인데 UTF-8인 문서를 파서 한다음 뿌려주기 할때 EUC-KR로요...
UTF-8 -> EUC-KR
아...php버젼은 4.4 버젼이고 서버는 EUC-Kr 입니다.
-----------------------------------------------------------------------------------------------
CAKR0AKR20070807170200053200708071714443에러 위치 : 1번째 줄, 268번째 위치
에러 메시지 : Invalid character <---------------------에러코드입니다.
<head>
<title>연합뉴스 샘플</title>
<meta http-equiv="Content-Type" content="text/xml; charset=euc-kr">
<style type="text/css">
TD {
font-size :10pt;
}
</style>
</head>
<body>
<?
$xml_parser = @xml_parser_create("UTF-8") or die("XML 파서를 생성하지 못했습니다.");
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, FALSE);
$fp = @fopen("ynews.xml", "r") or die("XML 파일을 가져오지 못했습니다.");
while(!feof($fp)) {
$data = fgets($fp);
if(!xml_parse($xml_parser, trim($data), feof($fp))) {
die("에러 위치 : " . xml_get_current_line_number($xml_parser) . "번째 줄, " . xml_get_current_column_number($xml_parser) . "번째 위치<br>\n" .
"에러 메시지 : " . xml_error_string(xml_get_error_code($xml_parser))
);
}
}
xml_parser_free($xml_parser);
?>
</body>
</html>
<?
// XML 문서 파싱 중 열리는 태그(ex: <title>)를 만났을 때 호출되는 핸들러
function startElement($parser, $name, $attr) {
switch ($name) {
case "YnewsML" :
echo "<table width=620 border=0 cellspacing=1 cellpadding=3 bgColor=#000000>\n";
break;
case "Title" :
echo "<tr>\n";
echo " <td width=100 align=center bgColor=#CACED8><b>제목</b></td>\n";
echo " <td bgColor=#E2E4E8>";
break;
case "Body" :
echo "<tr>\n";
echo " <td width=100 align=center bgColor=#CACED8><b>내용</b></td>\n";
echo " <td bgColor=#E2E4E8>";
break;
echo "<li>";
break;
}
}
// XML 문서 파싱 중 닫히는 태그(ex: </title>)를 만났을 때 호출되는 핸들러
function endElement($parser, $name) {
switch ($name) {
case "YmewsML" :
echo "</table><br>\n\n";
break;
case "Title" :
case "Body" :
break;
echo "</li>\n";
break;
}
}
// XML 문서 파싱 중 태그사이의 내용(ex: '임베디드 하드웨어 이해와 설계')을 만났을 때 호출되는 핸들러
function characterData($parser, $cdata) {
echo iconv("EUC-KR", "UTF-8", $cdata);
}
?>
----------------------------------------------------------------------------------------------------------
이상 php의 소스이고 XML문자셋은 UTF-8 입니다.
즉 XML문서 파싱인데 UTF-8인 문서를 파서 한다음 뿌려주기 할때 EUC-KR로요...
UTF-8 -> EUC-KR
아...php버젼은 4.4 버젼이고 서버는 EUC-Kr 입니다.
-----------------------------------------------------------------------------------------------
CAKR0AKR20070807170200053200708071714443에러 위치 : 1번째 줄, 268번째 위치
에러 메시지 : Invalid character <---------------------에러코드입니다.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 1630 | 18년 전 | 2372 | ||
| 1629 | 18년 전 | 2842 | ||
| 1628 |
인스웨이브시스템즈
|
18년 전 | 4618 | |
| 1627 | 18년 전 | 2685 | ||
| 1626 |
silence
|
18년 전 | 1879 | |
| 1625 |
|
18년 전 | 3322 | |
| 1624 | 18년 전 | 3141 | ||
| 1623 | 18년 전 | 3868 | ||
| 1622 | 18년 전 | 2178 | ||
| 1621 | 18년 전 | 2358 | ||
| 1620 | 18년 전 | 10017 | ||
| 1619 | 18년 전 | 3510 | ||
| 1618 | 18년 전 | 3313 | ||
| 1617 | 18년 전 | 3191 | ||
| 1616 |
|
18년 전 | 2805 | |
| 1615 | 18년 전 | 4167 | ||
| 1614 |
에스카르고
|
18년 전 | 5508 | |
| 1613 | 18년 전 | 3746 | ||
| 1612 | 18년 전 | 3197 | ||
| 1611 | 18년 전 | 3609 | ||
| 1610 |
DHenny
|
18년 전 | 2266 | |
| 1609 | 18년 전 | 2694 | ||
| 1608 |
|
18년 전 | 3926 | |
| 1607 | 18년 전 | 2857 | ||
| 1606 |
|
18년 전 | 4372 | |
| 1605 | 18년 전 | 2089 | ||
| 1604 |
|
18년 전 | 2534 | |
| 1603 |
|
18년 전 | 2424 | |
| 1602 |
|
18년 전 | 3782 | |
| 1601 |
|
18년 전 | 3845 | |
| 1600 | 18년 전 | 2581 | ||
| 1599 | 18년 전 | 2650 | ||
| 1598 | 18년 전 | 2986 | ||
| 1597 |
|
18년 전 | 2810 | |
| 1596 |
|
18년 전 | 2018 | |
| 1595 |
|
18년 전 | 2185 | |
| 1594 | 18년 전 | 4836 | ||
| 1593 | 18년 전 | 4180 | ||
| 1592 | 18년 전 | 2807 | ||
| 1591 | 18년 전 | 2365 | ||
| 1590 | 18년 전 | 2878 | ||
| 1589 | 18년 전 | 2345 | ||
| 1588 |
|
18년 전 | 3512 | |
| 1587 | 18년 전 | 2172 | ||
| 1586 | 18년 전 | 1970 | ||
| 1585 | 18년 전 | 1825 | ||
| 1584 | 18년 전 | 1644 | ||
| 1583 | 18년 전 | 3242 | ||
| 1582 | 18년 전 | 4561 | ||
| 1581 | 18년 전 | 4841 | ||
| 1580 |
|
18년 전 | 2133 | |
| 1579 | 18년 전 | 3582 | ||
| 1578 | 18년 전 | 3312 | ||
| 1577 | 18년 전 | 4608 | ||
| 1576 | 18년 전 | 3239 | ||
| 1575 | 18년 전 | 4243 | ||
| 1574 |
개발전문가
|
18년 전 | 3933 | |
| 1573 |
mixdesign
|
18년 전 | 3645 | |
| 1572 |
mixdesign
|
18년 전 | 3022 | |
| 1571 |
mixdesign
|
18년 전 | 2909 | |
| 1570 | 18년 전 | 3484 | ||
| 1569 |
mixdesign
|
18년 전 | 2140 | |
| 1568 |
mixdesign
|
18년 전 | 2103 | |
| 1567 | 18년 전 | 5510 | ||
| 1566 |
mixdesign
|
18년 전 | 2685 | |
| 1565 |
mixdesign
|
18년 전 | 2437 | |
| 1564 | 18년 전 | 2747 | ||
| 1563 | 18년 전 | 2080 | ||
| 1562 | 18년 전 | 3086 | ||
| 1561 | 18년 전 | 10030 | ||
| 1560 |
행복속네잎크로버
|
18년 전 | 1925 | |
| 1559 | 18년 전 | 2836 | ||
| 1558 |
1111111
|
18년 전 | 2877 | |
| 1557 |
1111111
|
18년 전 | 2129 | |
| 1556 |
1111111
|
18년 전 | 2973 | |
| 1555 |
1111111
|
18년 전 | 3982 | |
| 1554 |
1111111
|
18년 전 | 2924 | |
| 1553 |
1111111
|
18년 전 | 2301 | |
| 1552 |
1111111
|
18년 전 | 6021 | |
| 1551 |
1111111
|
18년 전 | 3651 | |
| 1550 |
1111111
|
18년 전 | 6322 | |
| 1549 |
1111111
|
18년 전 | 2413 | |
| 1548 |
1111111
|
18년 전 | 2343 | |
| 1547 |
1111111
|
18년 전 | 2381 | |
| 1546 |
1111111
|
18년 전 | 3319 | |
| 1545 |
1111111
|
18년 전 | 3174 | |
| 1544 |
1111111
|
18년 전 | 1957 | |
| 1543 |
1111111
|
18년 전 | 3693 | |
| 1542 |
1111111
|
18년 전 | 1609 | |
| 1541 |
1111111
|
18년 전 | 1353 | |
| 1540 |
1111111
|
18년 전 | 1379 | |
| 1539 |
1111111
|
18년 전 | 1532 | |
| 1538 |
1111111
|
18년 전 | 1628 | |
| 1537 |
스카이부아
|
18년 전 | 3417 | |
| 1536 |
1111111
|
18년 전 | 2248 | |
| 1535 |
1111111
|
18년 전 | 1713 | |
| 1534 |
1111111
|
18년 전 | 2097 | |
| 1533 |
1111111
|
18년 전 | 4595 | |
| 1532 |
1111111
|
18년 전 | 2334 | |
| 1531 |
1111111
|
18년 전 | 2984 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기