SQLServer2005のデータでXML作成。 - PHPプロ!Q&A掲示板
キーワード / SQLServer2005EXPRESS   エンコード   ドライバ  
OS:WindowsXP Pro
PHP:5.3.1
Apache:2.2.14
DBServer:SQLServer2005 EXPRESS
[ 質問 ]
phpより、DBにアクセスして結果をXMLで取得したいのですが
DBサーバ側のエンコードがSHIFT_JISという事で思った様にい
きません。対象がMSSQLServerの場合、どの様に対処するのが
スマートでしょうか。
※
以下のソースコードを実行すると、画面上には表示されませんでした。
が、IE上から”ソースの表示”を行うと取得はできていました。
タグの中には入っていない為表示が出来ていない模様です。
ご指摘、アドバイスなど、よろしくお願いいたします。
※ まだ、プログラム経験自体が浅いのでソース丸ごと掲載いたします。
[実際に使用したソース]
- // SQLServerとの接続
- require("connect-sqlserver.php");
- // XML 生成
- $dom = new DOMDocument("1.0");
- $node = $dom->createElement("markers");
- $parnode = $dom->appendChild($node);
- // MSSQLSERVR への接続セット
- $db = mssql_connect($server, $userid, $passwd);
- mssql_select_db($dbName, $db);
- // [SYSW_LEVEL]テーブルからフィールド情報取得
- $query = "SELECT * FROM SYSW_LEVEL";
- $result = mssql_query($query, $db);
- header("Content-type: text/xml");
- //フィールドを動的に取得する部分は後で作成
- // XMLへフィールドの値を渡す
- while ($row = mssql_fetch_assoc($result))
- {
- $node = $dom->createElement("marker");
- $newnode = $parnode->appendChild($node);
- $newnode->setAttribute("level", $row['LVL_LEVEL']);
- $newnode->setAttribute("level_name", $row['LVL_LEVELNAME']);
- }
- /*
- * フィールドはあとで動的に取得
- *
- */
- $dom->encoding="UTF-8";
- echo $dom->saveXML();
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。





ページのトップへ


GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。