- - PR -
文字化け
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-10-23 18:07
どなたか対処方法をご存知でしたらご教授お願いします。
問題ですが、XMLパーサーを利用し、プログラム内で生成した XMLをShift_JISとしてファイルに書き出すのですが、 全角記号文字の〜という文字が?に化けてしまいます。 環境 -------------------------------- OS : windows 2000 JDK : 1.4 パーサー : jaxp 1.1 (crimson, xalan) ------------------------------------- 下記に具体的なソースと出力結果ファイルを掲載します。 [ソース]====================================================================== import java.io.*; import javax.xml.parsers.*; import org.w3c.dom.*; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import javax.xml.transform.TransformerConfigurationException; public class Test { public static void main(String args[]) { try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.newDocument(); Element testEl = document.createElement("TEST"); Text testTx = document.createTextNode( "テスト〜テスト" ); testEl.appendChild(testTx); document.appendChild(testEl); // ▼▼▼▼▼ [出力] ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ File f = new File("test.xml"); FileOutputStream fos = new FileOutputStream(f); TransformerFactory tff = TransformerFactory.newInstance(); Transformer tf = tff.newTransformer(); tf.setOutputProperty("encoding", "Shift_JIS"); tf.setOutputProperty("indent", "yes"); tf.setOutputProperty("doctype-system", "http://www.test.co.jp/test.dtd"); tf.transform(new DOMSource(document), new StreamResult(fos)); fos.flush(); fos.close(); // ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ } catch(Exception e){ e.printStackTrace(); } } } ============================================================================== [ 出力結果 ]================================================================== <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE TEST SYSTEM "http://www.test.co.jp/test.dtd"> <TEST>テスト?テスト</TEST> ↑ ここが化けてしまう... ============================================================================== 以上です、お忙しい中、申し訳ありませんがよろしくお願いします。 同じ投稿内容で、Java Solutionの方にも投稿させてもらっています。 |
1