2012-04-18 5 views
2

MySQLデータベースからXMLを生成するPHPファイルに問題があります。コードは、私は問題が何であるかわからないんだけど、私はUTF8に(mysqlの中とhtaccessの下)私のすべての文字エンコーディングを変更したXMLを生成するPHPスクリプトのエンコーディングエラー

<?php 
require("decibelone_dbinfo.php"); 

function parseToXML($htmlStr) 
{ 
    $xmlStr=str_replace('<','&lt;',$htmlStr); 
    $xmlStr=str_replace('>','&gt;',$xmlStr); 
    $xmlStr=str_replace('"','&quot;',$xmlStr); 
    $xmlStr=str_replace("'",'&#39;',$xmlStr); 
    $xmlStr=str_replace("&",'&amp;',$xmlStr); 
    return $xmlStr; 
} 

// Opens a connection to a MySQL server 
$connection=mysql_connect (localhost, $username, $password); 
if (!$connection) { 
    die('Not connected : ' . mysql_error()); 
} 

// Set the active MySQL database 
$db_selected = mysql_select_db($database, $connection); 
if (!$db_selected) { 
    die ('Can\'t use db : ' . mysql_error()); 
} 

// Select all the rows in the markers table 
$query = "SELECT * FROM location WHERE 1"; 
$result = mysql_query($query); 
if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

header("Content-type: text/xml"); 

// Start XML file, echo parent node 
echo '<markers>'; 

// Iterate through the rows, printing XML nodes for each 
while ($row = @mysql_fetch_assoc($result)){ 
    // ADD TO XML DOCUMENT NODE 
    echo '<marker>'; 
    echo '<name>' . parseToXML($row['name']) . '</name>'; 
    echo '<address>' . parseToXML($row['address']) . '</address>'; 
    echo '<latitude>' . $row['latitude'] . '</latitude>'; 
    echo '<longitude>' . $row['longitude'] . '</longitude>'; 
    echo '<description>' . $row['description'] . '</description>'; 
    echo '<time>' . $row['time'] . '</time>'; 
    echo '</marker>'; 
} 

// End XML file 
echo '</markers>'; 

?> 

を下回っています。この問題は、最近私のホストによるサーバーメンテナンスの後に浮上しました。ファイルの前後でファイルを変更しなかったため、コード自体に問題がある可能性があります。誰かが私を正しい方向に向けることができますか?前もって感謝します!

+1

「私は問題が何であるかわからない...」私もない - エラーは何でしたか? – feeela

+0

ここにエラーメッセージと生成されたxmlファイルを投稿できますか?どのキャラクターが問題を作り出しているかを知るだけでいいです。 –

答えて

関連する問題