• 締切済み

”&#21556”とはなんですか?

Servlet、JSP、Beanを使用しwebアプリケーションを作成しています。 あるJSP画面で氏名を入力し(テキストエリア)、フォームのリクエスト取得後、DBにその文字をINSERTすると、”&#21556”という 文字??が書き込まれていました。 その入力した文字は、"吴"という文字で中国語の文字なのです。 エンコード等の問題であるとは感じているのですが、 どうにか正しく書き込む方法はありませんでしょうか。 "&#21556"が何者であるかだけでもかまいません。 ちなみにJSPのchaesetは"Shift_JIS"、servletは"MS932"です。 よろしくお願いします。

みんなの回答

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

「 吴 」はhtml文書での「数値文字参照」です。 html文書の指定文字コードでは表示できない文字も、この方法で表示することが出来ます。 >その入力した文字 は、"吴"という文 字で中国語の文字なのです。 textareaに"吴"と入力して、そのままデータベースに格納されるのは不思議はないと思いますけど、 「;」が消えたことを問題にしているのでしょうか? sqlの文末は「;」で終了しますから、文字列データに対しては、""や''でくくる必要があると思います。 それとも、textareaに入力したのは、ユニコード21556の文字そのものを入れたのに、"&#21556"に変換されたという意味ですか? このあたりについては、私はJSPに詳しくないので、もっと状況を細かに補足して他の方のレスを待ちましょう。