Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • 締切済み

jspで文字化け

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

みんなの回答

  • 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