- - PR -
Ygg + XSL(Xalan)日本語表示について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-01-27 13:46
はじめまして、
JAVA初心者ですが宜しくお願いします。 Yggdrasill XML DBエンジンを用いてWEBアプリケーションを作成 しています。XML、XSL、JSPともに文字コードはUTF-8を使用しています。 DBに日本語を用いて変換(transform)をした場合に、エラーになります。 DBへのクエリ結果をXSLにかけない場合は表示できます。 何が原因で、どう対処したものかわかりませんで困っています。 どなたかおわかりになりましたらご教授下さい。 環境は Win2000 Pro Tomcat4.0.6 j2sdk1.4.1 xalan-j 2.3.1 xerces 1.4.4 Ygg 2.0 です。 ****以下にエラー内容を記述致します。**** javax.servlet.ServletException: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x8d) was found in the element content of the document. ****JSPの記述は以下の様にしています。(抜粋)**** <%@ page language="java" contentType="text/html;charset=UTF-8" %> <%@ page import="javax.xml.transform.*,javax.xml.transform.stream.*" %> <%@ page import="java.io.*" %> <%@ page import="jp.co.mediafusion.YgClient.*"%>//DB接続用 ... //xslスタイルシートのパス名 String xsl=application.getRealPath("test.xsl"); //xslスタイルシートのオブジェクト作成 StreamSource xslSS=new StreamSource(xsl); //XSLT変換オブジェクト、トランスフォーマーオブジェクト作成 TransformerFactory fac = null; fac=TransformerFactory.newInstance(); Transformer tran=null; tran=fac.newTransformer(xslSS); //出力用のオブジェクト作成 StreamResult outSR=new StreamResult(out); //出力するエンコーディングを設定 tran.setOutputProperty("encoding","UTF-8"); //xmlドキュメントの取得 String xml=client.GetDocumentFragments(1,qry);//DBへのクエリ要求関数 ByteArrayInputStream bytein = new ByteArrayInputStream(xml.getBytes()); StreamSource xmlSS = null; xmlSS=new StreamSource(bytein); //変換 tran.transform(xmlSS,outSR); |
1