今、暇な時間を利用して作っているのですが、
JavaScript側で、
tango = "ばか";
widget.system("hoge.pl " + tango,null);
とか書きます。
UNIXのコマンドに翻訳すると
> hoge.pl ばか
になります。
で、hoge.plの$ARGV[0]は「ばか」にならないといけないのですが、
何故か「は?か」とか「はか」になってしまう。
うまいことエンコードできてないのかと思い、htmlに
<form name="hide"><input type="hidden" name="txts"></form>と書いておき、
JavaScriptで
document.hide.txts.value= tango;
document.hide.submit();
urls = window.document.URL;
txt = urls.split('=');
として、フォームをサブミットさせた時のエンコード済みな値(この場合txt[1])を渡してみたんだけど、
これもうまいこといかない…。
なんかいい方法ないかなあ…。
JS側で16進にしておいてperlで文字に戻す、、、とかかなあ…。
コメント (3)
と思ったら$ARGV[0]は正常っぽ…。
うーん…。
投稿者: makoto | 2005年6月23日 19:26
日時: : 2005年6月23日 19:26
nkfを使って強制変換してみるとか?
eucかUTF-8だったらいけそうだけどな。
投稿者: よしき | 2005年6月23日 21:40
日時: : 2005年6月23日 21:40
なんとなく理由が分かった気がする。
けど解決できねえです、くそー。後は任せたw
投稿者: まこと | 2005年6月24日 00:25
日時: : 2005年6月24日 00:25