• ベストアンサー

Servletの文字化けについて

noname#30871の回答

  • ベストアンサー
noname#30871
noname#30871
回答No.1

 (1)はマル付き数字でしょうか。  マル付き数字など、JISにはないがUnicodeにはある文字を扱うときには、エンコーディング名に"MS932"や"Windows-31J"を使います。 private String SJIStoUnicode(String sjis) { if(sjis == null) { return ""; } String unicode; try { unicode = new String(sjis.getBytes("ISO-8859-1"), "Windows-31J"); } catch(java.io.UnsupportedEncodingException e) { e.printStackTrace(); return ""; } return unicode; }

参考URL:
http://www.ingrid.org/java/i18n/encoding/ja-conv.html
furaibou_max
質問者

補足

自分の投稿も文字化けしていました。ご指摘のように「マル1」だったのですが アドバイスいただいたようにgetParameter時に設定を行ってみたのですが やはり変わり無い状態のままでした。 HTMLのCHARSET=Shift_JISに設定してあるのですがなにか関連は有るのでしょうか? OSはWINDOWS NT4.0 を使用しています。

関連するQ&A

  • EclipseでのJSP・Servlet開発について(文字化け)

    EclipseでJSP、Servletの開発をしております。 文字化けについての質問なのですが、ブラウザ上で表示される文字が 文字化けしてしまいます。JSPの頭に <%@page contentType="text/html; charset=SHIFT_JIS"%> と入れており、ブラウザでもエンコードはShift_JISとなっています。 自分なりに原因を調べたのですが、○○.jsp→○○_jsp.javaに変換?する際に 文字化けしているようで、Eclipse上でJSP、Servletを見ると普通なのですが、 ○○_jsp.javaは見事に文字化けしていました。 文字化けした○○_jsp.javaを削除して再度表示(_jsp.javaの再作成)も試みた のですが、同じ結果でした。 1ヶ月以上触っていないパッケージのソースも突然文字化けを起こしたので 原因も分からない状態です。 原因・直し方がお分かりの方、是非ともご指南下さい。 情報不足でしたら追記させて頂きますので、どうぞ宜しくお願い致します。

    • ベストアンサー
    • Java
  • メディアのフォーマットによる文字の認識

    メディアのフォーマットによって異なる文字が同じ文字として認識されることがあったようですが、その理由は何でしょうか。 1、OSが大文字と小文字を混同する。 2、シフトJISの持つ根本的な問題。 3、JISコードとシフトJISコードの変換テーブルによる問題。 4、UnicodeとシフトJISの変換テーブルによる問題。 この中に正解はありますでしょうか?

    • ベストアンサー
    • Mac
  • 文字化けについて教えてください。

    Mysql5.0.51で文字セットをShift_JIS(sjis)で運用しておりますが、 特定の漢字を入力すると、”&#33620”などと変換されて記録されます。 Web上で利用する場合はブラウザがもとの漢字に変換してくれているようですが、 pdfで表示する際には、”&#33620”と表示されてしまいます。 これを回避したいのですが、私は何を勉強すればよいでしょうか?

  • Unicodeで編集できるテキストエディタってありますか?

    これまで「Unicode対応」を謳ったエディタの多くは 「Unicodeテキストの読み書きが出来る」エディタに過ぎませんでした。 つまりファイルを読み込むときにUnicode→シフトJISに変換し、編集は シフトJIS環境で行う……という。 保存も同様でシフトJIS→Unicode変換したのち保存します。 これだと確かにUnicodeテキストの読み書きは出来ますが、 Unicode最大に特徴であるJIS外文字のが入っているとシフトJIS変換時に 「?」になってしまいます。 編集もUnicode環境で行えて、Unicodeフォントを指定してやればJIS外文字も 表示できる、そんなフリーエディタってありませんか? 最近の「秀丸」で出来るようになったのは知ってるんですが……

  • 海外テンプレートを使い日本語を入れると文字化け

    海外のテンプレート(index.html css ファイル)を使い、htmlに書いてあるサンプルの文字(欧文)を日本語に置き換えて、webブラウザーで見ると文字化けします。 この時 webブラウザーのテキストエンコーディングのデフォルトを、shift jisに変えると、きちんと表示します。 デフォルト(ユニコード)でちゃんと表示するためにはどうしたらよいのでしょうか? ちなみにhtmlはメモを使って開いてます。 mac win両方で確認。 よろしくアドバイスお願いします

  • 文字化け

      失礼いたします。 文字化けに悩まされているものです。 get方法でパラメータをやり取りしているのですが、 漢字やカタカナが文字化けします。 フォームを用い、ポストでやり取りすればうまくいくのですが、それ以外に方法はないでしょうか? getのままやりたいのですが。 文字はシフトjisを使っています。 よろしくお願いします。m(__)m

    • ベストアンサー
    • Java
  • 文字化けします

    またまた質問で申し訳ないんですが、よろしくお願いします。 Servletで表示させる文字が化けます。 ServletのdoGet()を呼び出しています。 ServletをURLにて直接呼び出しているので、doGetで間違いないと思います。記述としては、 response.setContentType(text/html;charset=Shift_JIS); と記述しています。 過去の質問等も調べて、byteに変換してJISAutoDetectを指定しても直りませんでした。 str = new String(str.getBytes("iso-8859-1"), "JISAutoDetect")としました。 8859-1も、同様に駄目でした。 そして、tomcatを起動した時に出るDos窓に 「Unsuported encoding: Shift_JIS」 と出ているのですが、tomcat3-1-4ではサポートされてないのでしょうか?? なんとか、解決策ってないでしょうか? 教えてください。よろしくお願いします。

  • Shift_jis設定しているのに文字化けする

    HTML初心者です。よろしくお願いします。 環境は、Windows7、ezhtmlというHTMLエディタを使って制作しています。 FFFTPにて、ホームページをアップしています。 下記の内容を書いてあります。 <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>わたしのホームページ</title> </head> エディタで作業して、プレビューしても文字化けはしていませんが、 Webにアップして、IE8のブラウザで見ると、文字化けしてしまいます。 他のPCで見ても同じ現象がおきました。 「わたしのホームページ」という言葉は文字化け状態になり、 ブラウザの表示→エンコード→Unicode(UTF8)になっているので、 それを日本語(シフトJIS)になおすと、正しく表示されます。 何が原因で、設定したシフトJISが有効にならないのでしょうか。 よろしくお願いします。

  • Ajax+Servletで文字化け

    Ajax+Servletで"I"、"II"等が文字化けしてしまいます。 以下のようにajaxを使いserver側のservletへアクセスしています。 xmlhttp = this.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Msxml2.XMLHTTP"); //コールバック関数の登録 xmlhttp.onreadystatechange = display; xmlhttp.open('POST','Test',true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlhttp.send(null); フトントの画面はJSPで <%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"> で定義しています。 サーブレットはpostgresのDBから項目を取得し、htmlを返却しています。 返却したhtmlをDOMのinnterHTMLを使い、画面を書き換えています。 response.setContentType("text/html; charset=Windows-31J"); servletからhtmlを返却する際、上記のようにWindows-31Jで返却すると、javascriptで"xmlhttp.responseText"の所で "ランタイムエラーが発生しました。デバックしますか 行107 c00ce56eの為、操作を完了できませんでした。" とエラーが出てしまいます。 response.setContentType("text/html; charset=shift-jis"); 出力する際、上記のようにShift-jisで返却すると、エラーは発生しないのですが、"I"、"II"等が文字化けしてしまいます。 何か解決策ありますでしょうか。 宜しくお願いします。

    • ベストアンサー
    • AJAX
  • 文字化け。

    REDHAT9でwebサーバをたてたのですがhpが文字化けしてしまいます。エンコードで日本語(シフト JIS)を選択すると大丈夫なのですが、一度ブラウザを閉じてまたくると文字化けしてて。 サーバに関してまだまだ無知なので力を貸していただければ幸いです。お願いします。