• 締切済み

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

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

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

みんなの回答

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

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

関連するQ&A

  • Eclipse の エディターでの文字化け

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

    • ベストアンサー
    • 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
  • ServletとJSPで。。。

    省略してますが、下記の記述で JSPの----部分の記述方法がわかりません。 実際、実行できる環境だといいのですが、今は実行環境がないので調査できません。 まだなにもわからない状態なので、記述が正しいかも自信ありませんがよろしくお願いします。 =============Servlet==============================Schedulebean bean = new Schedulebean(); bean.setYear(request.getParameter("year")); bean.setMonth(request.getParameter("month")); request.setAttribute("bean", bean); request.getRequestDispatcher("/jsp/schedulefrm.jsp").forward(request,response); ============ JSP ================== <%@ page contentType = "text/html; charset=Shift_JIS"%> <jsp:useBean id="bean" scope="request" class="java.lang.String"/> <HTML> <FRAMESET FRAMESPACING="10" COLS="250,*"> <FRAME src="/jsp/calender.jsp?Year=<%= year % -------- ↑ >&Month=<%= month %>" --------- ↑    上記をid 取得する記述は? name = "left" scrolling = "no" NORESIZE /> <FRAME src="/jsp/schedule.jsp?Year=<%= year %>&Month=<%= month %>" name = "right" scrolling = "yes" /> </FRAMESET> </HTML>

    • ベストアンサー
    • Java
  • 文字コードについて(どのファイルをどの文字コードにしてWeb開発を進めていくべきか)

    【疑問の背景】 文字コードについて(どのファイルをどの文字コードにしてWeb開発を進めていくべきか)   国際標準で使われているUTF-8で統一しておけば問題はないだろうと思って開発を進めていると・・・   UTF-8は「日本語が2~4バイト」で扱われるという、バイトの扱いが厄介であるため、   できればJavaでのUTF-8で開発は避けたい、だから「Shift-JIS」にしておきたいという話があがり、   各々のファイルにどの文字コードを設定すれば良いのかがわからなくなっている状態です。    いくつかの疑問がでていまして  判る範囲で構いませんので文字コード設定の判断についてのアドバイスいただけませんでしょうか? 【現在の開発文字コード】 HTMLファイル: UTF-8 JSPファイル: UTF-8 Javaファイル(servlet): UTF-8 Javaファイル(Bean): UTF-8 Javaファイル(JSPから出来たサーブレット): UTF-8 データベース: UTF-8 【設定したい今後の予定文字コード】 HTMLファイル: UTF-8 JSPファイル: UTF-8 Javaファイル(servlet): Shift-JIS Javaファイル(Bean): Shift-JIS Javaファイル(JSPから出来たサーブレット): Shift-JIS データベース: UTF-8 【疑問1】 javaファイル(servlet,Bean)をどのコードにすべきかについて  全てS-JISにした方がいいのか、UTF-8にした方がいいのかどうあるべきなのでしょうか?  (UTF-8 で 「日本語が2~4バイト」として扱われると、どういった弊害が発生するのでしょうか?) 【疑問2】 javaファイルをS-JISに変える方法について  今はサクラエディターというツールで  名前を付けて保存 → 文字コードセット「Shift-JIS」 → 保存 → ファイル名の文字コードセットの変更完了    今はエクスプローラーから直接フォルダの中にあるファイルを触っている状況なのですが、  eclipseから「ファイルの文字コードセットを変更する方法」はありますでしょうか? 【疑問3】 「Shift-JIS」に設定して開発していく必要性について  既存で「utf-8」で設定されているjavaファイルを、「Shift-JIS」に設定して開発していく必要性はあるのでしょうか? (all in one eclipse 3.4 を入れたとき、デフォルトで「utf-8」でjavaファイルが作られるつくりになっているみたいなのですが・・・)   【疑問4】 javaファイル作成時、「Shift-JIS」の形式でファイルを生成する方法について     現在、javaファイルを作成する場合「utf-8」のコードでjavaファイルが生成されるようになっています。      【自作で作成したjavaファイルの場合】    「サクラエディターを使用して、文字コードセットをShift-JISに変更すれば、ずっとShift-JISのファイルの状態」にすることができました。      しかしここで問題が出たのですが      【JSPファイルから自動生成されたjavaファイル(servlet)の場合】    「サクラエディターを使って、Shift-JISに変更した後に、JSPファイルを編集すると、また“utf-8に戻ってしまう” 状態」です。    現状としては「JavaファイルはShift-JISに統一して欲しい」という要望なので、    JSPから自動生成されたjavaファイルが "utf-8" になってしまいます。      JSPから自動生成されたjavaファイルを    "常にShift-JISに設定する" 方法はありますでしょうか?     【環境】  OS   ・WindowsXP Pro    java開発環境   ・all in one eclipse(3.4)   ・TomCat(6.0)   ・Java JRE(1.6)   ・MySQL(5.0)

    • ベストアンサー
    • Java
  • リンクの値→サーブレット

    いつもお世話になっております。 今回もよろしくお願いいたします。 (1)jsp画面のリンクの値をServletへおくる (2)ServletでDBアクセスし、処理を行う (3)(2)で処理した値をBeanに格納する (4)jsp画面でBeanの値を取得する といった流れをしています。 [(1)のjspでのコード(一部)] <form name= henkou method="post" action="../servlet/RequestServSession"> <a href= "../henkou.jsp"> <input type=hidden name=MySubmit> <jsp:getProperty name="reqObject" property="id" /> </a> </form> <script language="JavaScript"> function func(MyCommand){ document.henkou.MySubmit.value=MyCommand; document.henkou.submit(); } </script> [(2)Servletのコード(一部)] String strId = (String)request.getParameter("MySubmit"); String strSesId = new String(strId.getBytes("iso-8859-1"),("Shift_JIS")); int intId = (Integer.parseInt(strId));           ・           ・           ・ //処理された値をBeanに格納 HttpSession session = request.getSession(); *1→session.setAttribute("id",sid); *2→session.setAttribute("name",name); *3→session.setAttribute("biko",biko);           ・           ・           ・ などを実行すると、(4)では   *1→ 0   *2→ null   *3→ null が表示されます。 リンクの値がServletへきちんと送れていないのだと思い、jsp→Servletのみで実行したところ、 "Http-500エラー NullPointerException" が発生します。 どのようにしたらうまく値をおくることができるのでしょうか? どなたかご教授のほどよろしくお願いいたします。 

    • ベストアンサー
    • Java
  • 携帯WEBサイト開発時の文字コードの取り扱いについて

    現在J2EEを使用したPC+3キャリア対応携帯WEBサイトの構築に携わっています。 フレームワークはStrutsで、VIEWにはJSPを使用しています。 OSがLinuxということで、 サーバ+DBの文字コードはEUC-JPになることが決まっていますので PCサイトは文字コードをEUC-JPで作成すればよいと思っています。 ただ、携帯の場合、技術資料にShift_JISで作成するように記述されていました。 今回のケースの場合、携帯ページで文字コードに関する不具合を回避するには どのような対処を行えばよいでしょうか? 私としてはDB等含め全て文字コードはEUC-JPで作成しておいて 携帯用のJSPと、そのJSPが参照しているActionFormに値を設定する際はEUC->Shift_JIS、 取り出す際はShift_JIS->EUCとでエンコードすれば 問題ないのではと考えていはいるのですが合っているでしょうか。 。 お手数ですがよろしくお願いします。

    • ベストアンサー
    • Java
  • サーブレットで絵文字を使用するには

    JSPで絵文字を使用するには? JSPでimodeの絵文字を使用する方法をどなたかご存知でしょうか? Shift_JISでimodeの絵文字をJSPファイルに埋め込んだところ、 内部で変換がうまくいかないのかエラーになってしまいました。 環境は WindowsXP + Tomcat5.0.24 です。 JSPファイルの先頭には <%@ page contentType="text/html; charset=Shift_JIS" %> という記述をしています。 また、conf/web.xmlにShift_JIS用の記述をしています。 <servlet> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param> <param-name>fork</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>javaEncoding</param-name> <param-value>Shift_JIS</param-value> </init-param> <init-param> <param-name>xpoweredBy</param-name> <param-value>false</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet>

    • ベストアンサー
    • Java
  • JSPでデータ一覧表示

    JSP+Bean+Servletで作っています。 BeanでDB接続、データを取得して、 それをJSPで一覧表示として表示させたいのですが、 どのタグを使えばいいのでしょうか。 また、その場合、タグは、Servletとか Beanでかく必要がありますか。 たとえば、今、DBに30個データがある場合、 JSPでそれをTABLEタグを使って 一覧表示させますよね。 でもJSP側では、<TR><TD></TD></TR>の データをいくつセットできるか、っていう 数がきまってますよね。てことは、 ServletとかBeanでHTMLのタグをうって 表示させないといけないんですか??? やりたいことは、BeanとかServletで タグは書かずに、JSPでパラメータだけ 受け取って、その数だけデータを 表示させたいんです。 (JSPだけでタグをかいて、パラメータで わたってきたデータを表示させたい。) そういうことってできますか?? ・・・説明がうまく出来てないかとは思うのですが よろしくお願いします。

    • ベストアンサー
    • Java
  • JavaBeansについて・・・

    日頃お世話になっています。Beansを学んでいるのですが、聞きたいことがあります。まず下記の文で <Beans文> import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class bean_dbInsert implements Serializable { public bean_dbInsert(){} public void execute(){ try{ Class.forName("org.gjt.mm.mysql.Driver"); Connection db=DriverManager.getConnection("jdbc:mysql://localhost/jsp10?user=jsp10&password=jsp10&useUnicode=true&characterEncoding=Shift_JIS"); Statement sttSql=db.createStatement(); sttSql.execute("insert into softlist(nam,url,gdate,grade,memo) values('サイト名','http://***.***.com/','2004/9/15',5,'サイトの説明')"); sttSql.close(); db.close(); }catch(Exception e) { e.printStackTrace(); } } } という文があったとします。ここではDBにサイト名~サイトの説明を登録するというものなのですが、コマンドプロンプトでコンパイルが成功し、JSPで表示に成功したにも関わらず、DBにはこのサイトの情報が登録されていないのです。DB接続先等も確認し、再度やってみたのですが、一向に先に進みません。この状況では何が原因だと思われますでしょうか?意見等をお願いいたします。

  • jspで文字化け

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

専門家に質問してみよう