SSLBridgeの日本語化もだいぶ進んだところで、ファイルのダウンロード機能を試すがどうしてもうまくいかない。
ダウンロードのダイアログが出ない。
コードを読んだ限りでは、おかしいところは無く、あとは考えられるのは、PHPのheader()の前になんらかの出力が行われているだろうということ。
で、header()を呼び出す前に読み込んでいるファイルのうち、手動で作成したconfig.phpに空行が含まれていて、ダウンロード機能が働かなかったことをはっけーん。
これで8割方できたようなものだな。昨日一生懸命コードを読んだかいがあった。
2006年12月22日金曜日
SSLBridgeの日本語化
http://www.sslbridge.com/ の日本語化にチャレンジ。
問題はJavaScriptで日本語表示されたファイル名やフォルダ名を取得したときに、
新規test.doc という名称が
%u65B0%u898ftest.do
という文字列になって、SSLBridge内で扱われるために、日本語のファイルやフォルダを扱えないということ。
%u65B0は、UCS2の「新」で、%u898fはUCS2の「規」に該当する。
ということで、PHPで上記の表記をUTF-8に直す関数をアドホックながら作成してみた。
function ucs2_to_utf8($str){
$utf8str=array();
for ($i=0,$n=0;$i if (substr($str,$i,2) == "%u"){
$i=$i+2;
$ucs2char=pack("H4",substr($str,$i,4));
$i=$i+3;
$utf8char = iconv("UCS-2BE","UTF-8", $ucs2char);
} else {
$utf8char = $str[$i];
}
$utf8str[$n]=$utf8char;
$n++;
}
return join("",$utf8str);
}
本来のUCS2は、ASCII文字も2バイトなので、SSLBridge内で扱われているUCS-2の表記はなんか変だけど、JavaScript経由で渡されるのでしかたない。
この関数を使って、必要な箇所にコード変換をいれてやると、だいたい動きそう。
問題はJavaScriptで日本語表示されたファイル名やフォルダ名を取得したときに、
新規test.doc という名称が
%u65B0%u898ftest.do
という文字列になって、SSLBridge内で扱われるために、日本語のファイルやフォルダを扱えないということ。
%u65B0は、UCS2の「新」で、%u898fはUCS2の「規」に該当する。
ということで、PHPで上記の表記をUTF-8に直す関数をアドホックながら作成してみた。
function ucs2_to_utf8($str){
$utf8str=array();
for ($i=0,$n=0;$i
$i=$i+2;
$ucs2char=pack("H4",substr($str,$i,4));
$i=$i+3;
$utf8char = iconv("UCS-2BE","UTF-8", $ucs2char);
} else {
$utf8char = $str[$i];
}
$utf8str[$n]=$utf8char;
$n++;
}
return join("",$utf8str);
}
本来のUCS2は、ASCII文字も2バイトなので、SSLBridge内で扱われているUCS-2の表記はなんか変だけど、JavaScript経由で渡されるのでしかたない。
この関数を使って、必要な箇所にコード変換をいれてやると、だいたい動きそう。
2006年12月19日火曜日
2006年12月16日土曜日
VMware workstation 5.5.3
CentOS4(i386)上で動作させているVMware workstation 5.5.2だと、Solaris10 06/6(Update2)の64bitカーネルで起動させようとするとエラーが発生して、起動しない。
32bitカーネルで起動するので、実質的に困ってはいないけれども、11月にリリースされた5.5.3で、Guest OSにSolaris10 U2カーネルの32bit/64bitのExperimentalサポートが追加されたので、再チャレンジ。
http://www.vmware.com/support/ws55/doc/releasenotes_ws55.html
やっぱり、まだだめだった。
VMware Workstation 6.0待ちかなぁ。残念。
32bitカーネルで起動するので、実質的に困ってはいないけれども、11月にリリースされた5.5.3で、Guest OSにSolaris10 U2カーネルの32bit/64bitのExperimentalサポートが追加されたので、再チャレンジ。
http://www.vmware.com/support/ws55/doc/releasenotes_ws55.html
やっぱり、まだだめだった。
VMware Workstation 6.0待ちかなぁ。残念。
2006年12月4日月曜日
登録:
投稿 (Atom)