MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

[解決済み] JavaScriptでのキャラクタセットの変更
https://forums.mozillazine.jp/viewtopic.php?f=2&t=11059
ページ 11

作成者:  ralf124c [ 2011年1月25日(火) 10:14 ]
記事の件名:  [解決済み] JavaScriptでのキャラクタセットの変更

はじめまして。
初めてこちらの方で質問させていただきます。
某Q&Aサイトでも質問させていただいたのですがあまりに質問が局所的過ぎて回答が無い状態です。
表題の件で、各種メジャーブラウザを検証しましたところ、Firefox特有の状況なのですが、JavaScriptでページのキャラクタセットの取得はできるのですが、変更ができずに困っています。
他のブラウザでは「document.charset」が取得と設定の双方向に機能するのですが、Firefoxではこのプロパティは無く「document.characterSet」がこれに相当するとのことで、簡単なスクリプトを組んで試したところ、取得はできるのですが設定時にはreadonlyエラーとなります。
 サンプルリスト1(Firefox)
alert(document.characterSet);
document.characterSet = 'EUC-JP';
alert(dpcument.characterSet);
 サンプルリスト2(その他のブラウザ)
alert(document.charset);
document.charset = 'EUC-JP';
alert(dpcument.charset);
Firefoxにはキャラクタセットを変更できるプロパティは存在しないのでしょうか?
何のために必要なのかと聞かれる場合もありますので簡単に説明しますと、EUCしか受け付けないCGIに対して、Ajaxを使用しているUTF-8のページから日本語を含むデータをサブミットしたいのです。
別のCGIを仲介させればEUCに変換できますがその場合ブラウザの戻るボタンが問題になります。
どなたかご助力いただけましたら幸に思います。

作成者:  ralf134c [ 2011年1月26日(水) 23:56 ]
記事の件名:  Re: JavaScriptでのキャラクタセットの変更

ネットで探してたら解決したわ!お前ら対してわかってね~んだな(笑)
足跡ばっかつけやがって!!!!!!!

作成者:  ralf124c [ 2011年1月27日(木) 10:44 ]
記事の件名:  Re: JavaScriptでのキャラクタセットの変更

レスがついたと思って期待して見ると残念な方のいたずらでした。:cry:
一応、質問の補足説明として
document.characterSet='XXXXX';
は、エラーで実行が止まってしまいますが
document.charset='XXXXX';
は、何もおこらずスルーされてしまいます。
スタンダードなプロパティではないようなので、他のブラウザに同調する義理はないと思うのですが、由緒正しいブラウザなのでこういう混乱を招きかねない部分は独自路線に走って欲しくないと感じます。
昔(Win3時代)からのネスケ派ですのでFirefoxにはがんばって欲しいと思います。

作成者:  pal [ 2011年1月27日(木) 11:50 ]
記事の件名:  Re: JavaScriptでのキャラクタセットの変更

解決したいお気持ちもわかりますが、マルチポストはお控えください。
http://oshiete.goo.ne.jp/qa/6466690.html


> スタンダードなプロパティではないようなので、他のブラウザに同調する義理はないと思うのですが、由緒正しいブラウザなのでこういう混乱を招きかねない部分は独自路線に走って欲しくないと感じます。

「由緒正しいブラウザ」?
「独自路線」?

スタンダードでないものに従う義理はないかと。

作成者:  ralf124c [ 2011年1月28日(金) 15:09 ]
記事の件名:  Re: JavaScriptでのキャラクタセットの変更

> 解決したいお気持ちもわかりますが、マルチポストはお控えください。
申し訳有りません。「某Q&Aサイトでも質問させていただいたのですがあまりに質問が局所的過ぎて回答が無い状態です。」とおことわりを入れたつもりだったのですが、お気に触られたようですいませんでした。
> スタンダードでないものに従う義理はないかと。
たしかに義理はございません。 ただ、場末のうらぶれたブラウザならともかく、Firefoxのシェアを鑑みると社会的な義務や責任、道義について無視できるのかどうか・・・。

ということで、Firefox専門の方によるレスを期待していたのですが、余り実のあるレスはいただけませんでした。
が、いい勉強にはなったと思います。
くだんの方でヒントをいただき、自己解決いたしましたので後の方のために、解決策を残しておきます(もう一方のサイトにも書いたのですが、ナレッジベースの役割として後の方がここで解決できれば一番かと思いますので)。
IEでは動作しないようですが「acceptCharset 」というプロパティが有りました。
document.フォーム名.acceptCharset = 'euc-jp';
document.フォーム名.submit();
な感じでできました。
セキュリティチェックでいまだ使っているNetscape7でも同じでしたので、スクリプトエンジンの流れは同じものかと思われます。

どうもお世話になりました。
またの機会がありましたらよろしくお願いいたします。

作成者:  kiyo4_k [ 2011年1月28日(金) 16:26 ]
記事の件名:  Re: JavaScriptでのキャラクタセットの変更

ralf124c さんが書きました:
くだんの方でヒントをいただき、自己解決いたしましたので後の方のために、解決策を残しておきます(もう一方のサイトにも書いたのですが、ナレッジベースの役割として後の方がここで解決できれば一番かと思いますので)。
ありがとうございます。

マルチポストについてはそれぞれ個人の方には考え方があると思います。私としては「他のサイト」や「某サイト」のような書き方ではなく、URLを示してマルチポスト先すべての面倒を見るという意思が示されていれば構わないと思っています。(私はNewsGroupで育った人間なので)
必要な知識(と時間)を持ち合わせた人が「たまたま」見に来ないと質問の存在さえも知り得ないような、このようなフォーラムやQ&Aサイトなどで多くの人の目に止まるようにすることと、マルチポスト先すべての人が気分良く情報の共有が出来るような工夫は必要だと思っています。

ちなみに、「残念な人」は北海道からの接続でした。
このトピックは解決済み&ロックしておきます。

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/