• 締切済み

jspで文字化け

jspでホームページのフォーム上で入力された文字列を取得し、その内容をMYSQLに登録しているのですが、ローマ数字が入力された場合文字化けします。 なので、INSERT文でエラーになります。 ローマ数字が機種依存型文字だということはわかったのですが、文字化けせずに取得する方法はありますか? 一応パラメータ取得時の request.setCharacterEncoding("Shift_JIS"); は記述しています。 もし文字化けが解消できないようでしたら、 入力チェック等でローマ数字が入力されているときには、 データベースに登録にいかないように、逃げることも 考えているのですが、その方法はありますか? よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数0

みんなの回答

  • covachan
  • ベストアンサー率38% (46/120)
回答No.2

>>ローマ数字が入力された場合文字化けします ローマ英数字は通常では文字化けしません。 機種依存型文字であるというなら、ローマ英数字という表現はしないほうが回答する人も迷わずにすみますよ。 エンコーディングをUTF-8等で指定すれば回避できるかも知れません。ただし、それはブラウザからJAVAまでの間のものであって、MySQL自体がUTF-8に対応できなければ、JAVAからMySQL間の通信はhexにしたものをエスケープするなどして変換しなければならないと思いますね。 逃げる方法はJAVAのPatternやMatcher等を使用すれば簡単に実装できそうですね。

回答No.1

あれじゃないかな? 他の文字はちゃんと文字化けされずに表示されるなら、問題ないので。 request.setCharacterEncoding("Shift_JIS");          ↓ request.setCharacterEncoding("Windows-31J"); だといいかもしれません。 全然確証はもてませんが。参考URLをどうぞ

参考URL:
http://www.ingrid.org/java/i18n/encoding/shift_jis.html

関連するQ&A

  • jspの文字化けについて

    javaでDBから取得したデータをjspで表示する際に 文字化けしてしまいます。化けるのは「~」です。 ちなみに文字コードはshift_JISです。 jspにcontentTypeなども記述してあるし、 色々なサイトを検索して、様々な方法を試したのですが・・。 どなたかご教授お願いします。

    • ベストアンサー
    • Java
  • 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
  • 文字化けで困っています。

    文字化けで困っています。 下記のJSPからrequest.getParameterで他のJSPに取得させようとしているのですが、文字化けが起こってしまいます。どなたか、考えられる原因をご教授お願い致します。(eclipse 3.5) <%@page contentType="text/html; charset=Shift-JIS"%> <html:form action="/**/***"> <select name="color_name" > <option value="赤" selected>赤</option> <OPTION value="青">青</option> <OPTION value="黄">黄</option> <OPTION value="緑">緑</option> </select></TD> </html:form> -------------------------------------------------------- <%@page contentType="text/html; charset=Shift-JIS"%> <%=request.getParameter("color_name") %>

    • ベストアンサー
    • Java
  • データを拾うときに文字化け?

    現在、Webアプリケーションを作っているのですが文字化けが起こってしまいます。 データを追加するときは問題なし データを更新するときに発生 となるのですが、前者と後者で同じデータでも文字化けします。(この2つには相違点は必要部分以外はありません。) 更新の時には現データをフォームに表示させていますが、それが問題でしょうか? 例 (JSP内) <input type="text" value="ゼロ" name="aaa" /> (Java内) String name = request.getParameter("aaa") System.out.println(name); でデータを変更せず(しても)JSPで送信ボタンを押すとコマンドプロンプトには意味不明の文字列が出てきます 尚、全てのデータを拾うクラス(サーブレット)には request.setCharacterEncoding("Shift_JIS"); JSPには <%@page contentType="text/html; charset=ISO-2022-JP" pageEncoding="Shift_JIS" %> をつけています。 開発環境 WindowsXP Home Edition MySQL 4.0.26 Apache Tomcat 4.1 この原因や解決方法が分かれば教えてください。

    • ベストアンサー
    • Java
  • htmlで文字化け

    こんにちは。 ローカル環境でjspを導入したものの、 htmlで入力したリクエストからjspに渡す際の htmlファイルが文字化けしてしまいます。 (jspでは問題なく表示・処理されます) 通常では普通に見れるのですが、 shift-jis等ファイルに入れても変わらず、です。 tomcat側の設定で何か要るのでしょうか。 お願いします。

  • Bean→JSPでの文字化け

    こんにちは。 質問したいことがあります。 JSPで定義した全角文字列はそのままブラウザに表示されるのですが、Bean内で定義した全角文字が文字化けをしてしまいます。 文字化けは、JSPファイルからBeanのメソッドを使ってパラメータを取得する際に 発生します。 ----------------------例---------------------------------------- <jsp:useBean id="tBean" scope="session" class="test.testBean" /> <p>運勢は <em><%= tBean.getUnsei() %></em> です!</p> ------------------------------------------------------------------ ※getUnsei()はBean内で定義された全角文字を取得するメソッドで、このメソッドで取得した文字列が文字化け(?が多数出力される)します。ちなみに「運勢は」と「です!」という文字列は、そのまま文字化けせずに出力されます。 どう対処してよいか全く分かりません。 もし何か分かることがありましたらご教授御願い致します。

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

    登録フォームを作成し、入力した内容でDBに追加を行うなかで、PHPmyadminで実際に見てみると文字化けしています。 レンタルサーバ(OS:linux) (1)登録フォーム(shift_jis) ↓各値を渡す (2)確認ページ(shift_jis) ↓各値をmb_convert_encoding(shift_jisに変更) (3)追加 すると文字化けします。 以前、cgi-lib.plを用いてperlで書いていたものは、 文字化けしていません。 どこがおかしいのでしょうか? ちなみに (1)登録フォーム(euc-jp) ↓各値を渡す (2)確認ページ(euc-jp) ↓各値をmb_convert_encoding(euc-jpに変更) (3)追加 としても文字化けしています。 (DBだけでなく、ページ全体も)

    • ベストアンサー
    • PHP
  • JSPでincludeファイルの日本語が文字化けします。

    tomcat3.1を使用しています。 JSP本体でcharset=Shift_JISを設定し、SJISコードで記述した文字は正常に表示されますが、 <%@ include file="file.html" %>にて読み込んだfile.htmlに記述した日本語が文字化けします。 file.htmlが文字化けしないようにする方法を教えてください。

  • 文字化けで困っています。

    shift-JISで保存されているデータを読み込んで、Shift-JISで書かれているPHPを使ってShift-JISで出力しているのですが一部の単語で文字化けしてしまいます。 具体的には 自己申告→自己錐 パソコン→パャRン 元のデータを「申\告」「パソ\コン」のように入力しておくと文字化けが起きませんが、そんな形で保存もできないので困っています。 対策方法はないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Eclipse の エディターでの文字化け

    Eclipse で jspやhtmlファイルが文字化けしているのですが、どうやったら直りますか?携帯用のホームページを作成しているのでshift-jisを使いたいのですが、テキストファイルのエンコードは現在MS932になっています。 いまいち文字コードについてよくわかっていないのですが、先ほどtomcatのエンコードに「Windows-31J」を指定すればよいとの記述をみつけたので、やってみたのですが、変わりはありません。 また、これだと携帯からみれないってことになりますか? それとブラウザに表示した時に文字化けしているページもあります。しかし、ほとんどはちゃんと表示されています。この違いはなんでしょうか? 初心者でよくわかっていないので、よろしくお願いします。jspではcharset=SHIFT_JISを指定しています。(htmlもmetaタグでshift-jisを指定しています。)

    • ベストアンサー
    • Java

専門家に質問してみよう