Just use the OutputStreamWriter to specify the encoding.
Mvgr,
Martin
Chen, Wei wrote:
Hi Martin,
My file is simply a txt-file and is generated/saved in run-time by the program. How can I save as an UTF-8 file?
Regards
-----Ursprüngliche Nachricht-----
Von: Martin van den Bemt [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 28. Juni 2006 12:25
An: MyFaces Discussion
Betreff: Re: java.io.UTFDataFormatException: Invalid byte 2 of 3-byte UTF-8
sequence
Save the produkt.txt as an UTF-8 file...
Mvgr,
Martin
Chen, Wei wrote:
Hi all,
I have a file which cnotains an html-string which contains German
characters as follow:
produkt.txt
-------------
<table><tr><td>*ö*ffnen</td><td>*ä*ndern></td></tr></table>
And I want to show as follow:
myTest.xhtml
-----------------
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:cr="http://creditreform.de/crefoteam">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>MyTest</title> </head> <body> <ui:composition
template="/jsp/template/innerSiteTemplate.xhtml">
...
<ui:define name="leftContent">
<h2>Schuldnerliste</h2>
<center>
*<ui:include src="file:./produkt.txt" />*
</center>
</ui:define>
...
</ui:composition>
</body>
</html>
But I got exceptions as follow. But if I change the German character
to English it will be ok. Who knows how can I overcome it?
|java.io.UTFDataFormatException: Invalid byte 2 of 3-byte UTF-8 sequence.
at
weblogic.apache.xerces.impl.io.UTF8Reader.invalidByte(III)V(UTF8Reader.java:693)
at
weblogic.apache.xerces.impl.io.UTF8Reader.read([CII)I(UTF8Reader.java:418)
at
weblogic.apache.xerces.impl.XMLEntityManager$EntityScanner.load(IZ)Z(XMLEntityManager.java:3307)
at
weblogic.apache.xerces.impl.XMLEntityManager$EntityScanner.scanQName(Lweblogic.apache.xerces.xni.QName;)Z(XMLEntityManager.java:2350)
at
weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement()Z(XMLDocumentFragmentScannerImpl.java:702)
at
weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Z)Z(XMLDocumentFragmentScannerImpl.java:1477)
at
weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Z)Z(XMLDocumentFragmentScannerImpl.java:329)
at
weblogic.apache.xerces.parsers.DTDConfiguration.parse(Z)Z(DTDConfiguration.java:525)
at
weblogic.apache.xerces.parsers.DTDConfiguration.parse(Lweblogic.apache.xerces.xni.parser.XMLInputSource;)V(DTDConfiguration.java:581)
at
weblogic.apache.xerces.parsers.XMLParser.parse(Lweblogic.apache.xerces.xni.parser.XMLInputSource;)V(XMLParser.java:152)
at
weblogic.apache.xerces.parsers.AbstractSAXParser.parse(Lorg.xml.sax.InputSource;)V(AbstractSAXParser.java:1175)
at
weblogic.xml.jaxp.WebLogicXMLReader.parse(Lorg.xml.sax.InputSource;)V(WebLogicXMLReader.java:135)
at
weblogic.xml.jaxp.RegistryXMLReader.parse(Lorg.xml.sax.InputSource;)V(RegistryXMLReader.java:152)
at
javax.xml.parsers.SAXParser.parse(Lorg.xml.sax.InputSource;Lorg.xml.sax.helpers.DefaultHandler;)V(SAXParser.java:345)
at
javax.xml.parsers.SAXParser.parse(Ljava.io.InputStream;Lorg.xml.sax.helpers.DefaultHandler;)V(SAXParser.java:143)
at
com.sun.facelets.compiler.SAXCompiler.doCompile(Ljava.net.URL;Ljava.lang.String;)Lcom.sun.facelets.FaceletHandler;(SAXCompiler.java:222)
at
com.sun.facelets.compiler.Compiler.compile(Ljava.net.URL;Ljava.lang.String;)Lcom.sun.facelets.FaceletHandler;(Compiler.java:105)
at
com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(Ljava.net.URL;)Lcom.sun.facelets.impl.DefaultFacelet;(DefaultFaceletFactory.java:189)
at
com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(Ljava.net.URL;)Lcom.sun.facelets.Facelet;(DefaultFaceletFactory.java:138)
at
com.sun.facelets.impl.DefaultFacelet.include(Lcom.sun.facelets.impl.DefaultFaceletContext;Ljavax.faces.component.UIComponent;Ljava.net.URL;)V(DefaultFacelet.java:293)
at
com.sun.facelets.impl.DefaultFacelet.include(Lcom.sun.facelets.impl.DefaultFaceletContext;Ljavax.faces.component.UIComponent;Ljava.lang.String;)V(DefaultFacelet.java:273)
at
com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(Ljavax.faces.component.UIComponent;Ljava.lang.String;)V(DefaultFaceletContext.java:136)
at
com.sun.facelets.tag.ui.IncludeHandler.apply(Lcom.sun.facelets.FaceletContext;Ljavax.faces.component.UIComponent;)V(IncludeHandler.java:60)
at
com.sun.facelets.tag.CompositeFaceletHandler.apply(Lcom.sun.facelets.FaceletContext;Ljavax.faces.component.UIComponent;)V(CompositeFaceletHandler.java:47)
at
com.sun.facelets.tag.ui.DefineHandler.apply(Lcom.sun.facelets.FaceletContext;Ljavax.faces.component.UIComponent;)V(DefineHandler.java:58)
at
com.sun.facelets.tag.ui.CompositionHandler.apply(Lcom.sun.facelets.FaceletContext;Ljavax.faces.component.UIComponent;Ljava.lang.String;)Z(CompositionHandler.java:128)
at
com.sun.facelets.impl.DefaultFaceletContext$1.apply(Lcom.sun.facelets.FaceletContext;Ljavax.faces.component.UIComponent;Ljava.lang.String;)Z(DefaultFaceletContext.java:253)
at
com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(Ljavax.faces.component.UIComponent;Ljava.lang.String;)Z(DefaultFaceletContext.java:263)
at
com.sun.facelets.tag.ui.InsertHandler.apply(Lcom.sun.facelets.FaceletContext;Ljavax.faces.component.UIComponent;)V(InsertHandler.java:63)
at
com.sun.facelets.tag.jsf.ComponentHandler.apply(Lcom.sun.facelets.FaceletContext;Ljavax.faces.component.UIComponent;)V(ComponentHandler.java:164)
at
com.sun.facelets.tag.ui.DefineHandler.apply(Lcom.sun.facelets.FaceletContext;Ljavax.faces.component.UIComponent;)V(DefineHandler.java:58)
at
com.sun.facelets.tag.ui.CompositionHandler.apply(Lcom.sun.facelets.Fac
eletContext;Ljavax.faces.component.UIComponent;Ljava.lang.String;)Z(Co
mpositionHandler.java:128)
|