2014-10-09 3 views
0

좋아, 질문이 하나 더 있습니다. 내 프로그램의 PHP 부분이 로큰롤 할 준비가 된 것 같습니다. 지금까지 저에게 해주신 도움에 감사드립니다!PHP는 UTF-8이 필요할 때 ASCII로 XML을 출력합니다.

다음 PHP 파일을 웹 사이트에 업로드하여 내 응용 프로그램에서 MySQL 데이터베이스의 데이터를 검색하고 필요한 정보를 XML 형식으로 반환하는 웹 서비스 역할을합니다. 나는 그것이 올바르게 형식화 된 것으로 생각하고 그것을 원할 것입니다. (모든 입력은 물론 환영합니다.) 나는 스 니펫 (snippet) 이후에 내가 가지고있는 문제에 관해 이야기 할 것이다.

은 단순히 (그것은 내가 NSURL에 전화 했어 같은 URL입니다)이 URL을 컬, 출력을 보려면 : PHP 파일은 지금이

<?php 
mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
mysql_select_db(DB_NAME); 

$sql = "SELECT post_date_gmt, post_content, post_title FROM schema.wp_posts WHERE post_status = \"publish\" && post_type = \"post\" ORDER BY post_date_gmt DESC;"; 
$res = mysql_query($sql); 

$xml = new XMLWriter(); 

$xml->openURI("php://output"); 
$xml->startDocument(); 
$xml->setIndent(true); 

$xml->startElement('BlogPosts'); 

while ($row = mysql_fetch_assoc($res)) { 

    $xml->startElement("Post"); 

    $xml->startElement("PostTitle"); 
    $xml->text($row['post_title']); 
    $xml->endElement(); 

    $xml->startElement("PostDate"); 
    $xml->text($row['post_date_gmt']); 
    $xml->endElement(); 

    $xml->startElement("PostContent"); 
    $xml->writeCData($row['post_content']); 
    $xml->endElement(); 

    $xml->endElement(); 

} 

$xml->endElement(); 

header('Content-type: text/html; charset=utf-8'); 
$xml->flush(); 

?> 

그리고에 보이는 http://jeffstockdale.com/API/get_blog_posts.php

문제. 내 Xcode 프로젝트에 가서 NSURL (파일이 올바르게 다운로드 됨)을 만들고 내 NSXMLParser에 전달하면 parseErrorOccurred에서 다음 오류가 표시됩니다.

2014-10-09 15 : 03 : 41.114 AppName [ 8667 : 521529] NSXMLParser에 오류가 발생했습니다 : Error Domain = NSXMLParserErrorDomain Code = 9 "작업을 완료 할 수 없습니다 (NSXMLParserErrorDomain 오류 9.)"UserInfo = 0x7fbddd0b1a10 {NSXMLParserErrorColumn = 44, NSXMLParserErrorLineNumber = 1352, NSXMLParserErrorMessage = 입력이 올바르지 않습니다. UTF-8, 인코딩을 나타냅니다! 바이트 : 0x85 0x3C 0x2F 0x50 }

PHP 파일이 UTF-8 일 필요가있을 때 데이터를 ASCII로 반환하므로 필자는이를 사용하고 있습니다. 그래서 내 질문은, 어떻게 중 하나를 NSXMLParser 그것을 구문 분석 할 수 있도록 UTF-8 출력 할 가져올합니까?

+0

분명히 ASCII가 아닙니다.ASCII 값이 UTF-8로 받아 들여 졌을 것입니다. –

+0

왜 내가이 오류를 나에게 줄지 모르는가? – Kirkland

+0

데이터베이스 연결 인코딩이 utf-8인지 확인 했습니까? – ThW

답변