UTF-8以外でのXMLHttp通信

Ajaxで非同期通信を行う場合それを行うスクリプトとかはUTF-8である必要があるんだけど、UTF-8以外でもそれを可能にする方法。
IE6でのみ動作確認。(それ以外のブラウザの動作は期待してないので調べてません。


主な流れは、通信対象のパスを検索引数としてサーバ側のPHPファイルに通信→PHPUTF-8に変換されたデータを受信。

クライエント側


<script type="text/javascript"><!--
function loadPage(path){
 httpObj = createXMLHttpRequest(displayData);
 if(httpObj){
  httpObj.open("GET", "convert.php?path="+path, true);
  httpObj.send(null);
 }
}


function displayData(){
 if)((httpObj.readyState==4)&&(httpObj.status==200))({
  document.getElementById("ID").innerHTML = decodeURIComponent(httpObj.responseText);
 } else {
  document.getElementById("ID").innerHTML = "Loading...";
 }
}
// --></script>


<a onClick="loadPage('通信対象のパス')">クリック!</a>
<div id="ID"></div>

※XMLHttp通信を行うための共通関数(createXMLHttpRequest)として、Openspaceで紹介されているものを使用。

サーバ側


<?php
echo mb_convert_encoding(file_get_contents($path), "UTF-8", "出力させたいファイルのエンコード"));
?>

上手く出力されない場合は、全体をrawurlencodeすると確実(だと思う


ブログの横幅、はてな記法を気にしてコードを貼るのがメンドイ('A`)