• 締切済み

HTMLから入力される文字コードについて

HTMLにテキストボックスを配置し、入力された値をアプリケーションサーバ上(Java)で処理するというアプリを作成しているのですが、テキストボックスに環境依存文字(Unicode)とShift-JIS文字が混在した場合にHTTPRequest内が文字化けしてしまいます。 環境依存文字が入力されたかどうかはサーバー側では判別不明(既に文字化けしてるため)なんですが、一般的にはどう処理しているのでしょうか??

  • sting
  • お礼率12% (35/274)

みんなの回答

  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

IE6 Opera7 Firefox2 で確認してみました。 SJISで書かれたHTMLから、Unicodeを含む「繋がる」を送信し、PerlのCGIで受け取ってみたところ。 エンコードされた生データは「%26%2332363%3B%82%AA%82%E9」 これをデコードすると「繫がる」となります。 これをブラウザで表示するとUnicodeを含む「繋がる」がちゃんと表示されます。 私の環境では、送信されているデータは正しいようです。 送信しているPCと、サーバ側のPCは同じPCでしょうか? もし違うなら、サーバの環境で下記のHTMLファイルは正しく表示されますか? (Unicodeを含む「繋がる」が表示されるはずですが。) -------- <html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head><body> 繫がる<br> </body></html> --------

  • venzou
  • ベストアンサー率71% (311/435)
回答No.1

もう少し詳しい情報をお願いします。 HTMLの文字コードは何でしょうか? 送信前のフォームでは正しく表示されているでしょうか? ブラウザは何を使っていますか? 具体的にどんな文字を入れたら、どう化けたのか?

sting
質問者

補足

説明足らずですみません。 HTMLの文字コードはShift-JIS、 送信前のフォームでは正しく表示されています。 ブラウザはIE6。 具体的な文字は「繋がる」の環境依存文字で「つながる」で 変換されると表示されます。ここでその文字を入力すると文字化けしてしまいました・・・。

関連するQ&A

  • visual c++の文字コード判別

    現在、visual studio2010のvisual C++でメモ帳をテキストボックスに表示するプログラムを作成しています。 しかし、文字コードがASCIIで保存してあるファイルを開こうとすると、文字化けが起こります。 shift-jisなどに変換しようとすると、ほかの文字コードで保存してあるファイルを開いたときに文字化けが起こります。 文字コードがASCIIのテキストファイルを開くときのみ、shift-jisなどに変換しようと思うのですが、文字コードがASCIIであるか、そうでないかを判別できる処理があれば教えていただけないでしょうか?

  • 文字コード【utf-8】のHTMLを

    charset=utf-8で作成されているHTMLをDreamweaverで開くと テキストが文字化けしてしまいます。 他のテキストエディタで文字コードをUnicodeに設定して開いた場合も Web上で「ソースコードの表示」でソース表示してもやはり同じく文字化けしてしまいます。 この場合、どうしたら文字化けせずにソースを表示することができますか? できればDreamweaverで開けるとありがたいのですが・・・ アドバイスいただけると助かります。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • HTML
  • 文字コードについて理解できません・・

    データベース内はShift_jisでJavaはUnicode・・でWeb系アプリ 開発をするとします。 その際発生する文字変換における文字化けや内部変換におけるしくみが 色々参考書を読みましたが理解できません。。 最近ではアレルギーになりつつあります。 参考になるお話やサイトなどあれば是非ご教授お願いします。

  • コピーすると文字コードが変わっちゃう

    プログラムを(ちなみにPHP)エディター(ちなみに秀丸)で入力して保存時にエンコードの種類を「Unicode(UTF-8)」で保存 もちろんプログラム(HTML/PHP記述)では <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> を指定しています 実行すると文字化けも起こらず正常にホームページが完成しました それをコピーして別のサーバーにアップすると正常にホームページが開かないんです 文字化けだけでなくソースが画面に表示されました そのソースも文字化けです コピー先をエディターで開くと「日本語(Shift-JIS)」になっていました コピー元は「Unicode(UTF-8)」です なぜでしょう? そもそも「Unicode(UTF-8)」をコピーするには単純にコピーしてはいけないのでしょうか? プログラムの量が結構あるのでこの「日本語(Shift-JIS)」を一括して「Unicode(UTF-8)」に保存できるようなツールはないのでしょうか?

  • phpMyadminに直接入力したら文字化け

    案の定、??????になってしまいました。 PHPで作ったフォームから入力した文字ではなく、phpMyAdiminから 直接入力したら文字化けしました。 おそらく入力モードがSHIFT-JISなんだと思います。 でも、それを変更できるモードがあるのでしょうか? 初期画面の文字コードは「utf8-unicode-ci」としています。 今回はutf8でPHPプログラムするつもりです。 それらしいunicode-ciを選択しました。 直接入力して、 どうすれば文字化けしないで解決できるでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 日本語と韓国語の混在入力と文字化けについて

    ホームページ上の掲示板で、韓国語を入力したとき、 Windows98SE IE6.0 エンコードがShift-JISでは韓国語入力ができ Windows2000 IE6.0 エンコードがShift-JISでは書き込んだときは 韓国語がの日本語EUCコードの文字に化けしてしまいます。 この掲示板はUNICODEでないため、韓国語が入力できること自体 不思議なのですが、どうしたら、文字化けせず韓国語と日本語の 混在が可能でしょうか?

  • HTML formタグの文字コードについて

    各サイトのフォーム<form>をまとめて1つのテキストにしています。 文字コードはShift-jisです。 元のページがShift-jisの場合、問題なく動作するのですが、 EUCやUTF-8の場合、テキストボックスに入力した2バイト文字が 化けてしまいます。 これらのサイトの<form>をShift-jisで動作するようにはできない でしょうか?

    • ベストアンサー
    • HTML
  • 複数の文字コードの混在

    お世話になります。 今、日本語と広東語が混在しているページを作っているのですが、どうしても文字化けが解消しないので相談させてください。 私の浅はかな知識では、複数の文字コードが混在する場合は、UTF-8で構築してやれば混在は可能と認識していたのですが、間違いないでしょうか。 ユーザーがPHP経由でPostgresにデータをPOSTし、その一覧をPHPで表示するだけの流れで、ブラウザで表示するのもページの構築自体もUTF-8で行っています。 PHPからinsert文を実行する際に、mb_convert_encodingを使わないで広東語を入力すると pg_exec(): Query failed: ERROR: Unicode characters greater than or equal to 0x10000 are not supported とエラーが表示されます。 しかし、mb_convert_encodingを通したあとのデータはすでに文字化けしており、結果もそのまま文字化けしてしまいます。 Postgresを使わずに、テキストに書き込みをした際には混在は可能でしたので、Postgresの問題かと思い、質問させて頂きました。 ちなみにデータベースのエンコードはUNICODEにしてあります。 ご指摘、助言等何でも構いませんのでよろしくお願いいたします。

  • 入力文字の制限について

    入力文字の制限について質問があります。 あるTextボックスに入力した文字列のうち、JISX0208の第一水準、及び第二水準に該当しない文字がある場合、エラーメッセージを表示させるプログラムを作成したいのですが、どのようにすれば良いか頭を悩ませています。 1バイト目、2バイト目の範囲を調べて判断しようかと思いましたが、  Textボックス ・・・ S-JIS(仕様)  VB内部    ・・・ Unicode(仕様) となっており、Unicodeの並び順はJISとは全く異なる為、行き詰まっています。 良いアイデアがありましたら、ご教授願います。

  • wwwサーバーの文字コードについて教えて下さい。

    サーバー関連の知識に乏しい為調べてもよく分らなかったので質問させて下さい。 友人の自作サーバーを借りて、自分のHPを公開しようと思っているのですが、htmlファイルをアップして、見てみると文字化けしてしまいます。 環境は htmlにcharset指定している文字コードはshift_jis。 サーバーはLinuxで自作しているようです。 ブラウザで表示させてみると、文字エンコードがutf-8になっていてshift_jisに切り換えると文字化けが直ります。 また同じブラウザでYahooジオシティーズのHPスペースにアップしたものを表示すると文字化けしませんでした。 どのようにすれば文字化けしなくなるでしょうか。 よろしくお願いします。

専門家に質問してみよう