You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-users@maven.apache.org by se...@mpsa.com on 2007/11/09 09:06:00 UTC

ISO-8859-1 -> "Invalid byte 2 of 3-byte UTF-8 sequence" error with Doxia (maven plugin)

Hello,
I'm trying to use the Doxia Maven plugin to automatically render .pdf from
APT and i'm encountering this problem, does any of you have an idea about
this ?
The .apt files are encoded in ISO-8859-1 and contain various french
characters (like accentued characters).

I got the "Invalid byte 2 of 3-byte UTF-8 sequence." error and i really
don't know how to deal with ISO-8859-1 with this plugin, what should I add
and where ?
I've tried to add in my pom.xml the <inputEncoding> and <outputEncoding>
lines but the behaviour is just the same with or without.

My Doxia "example.xml" file doesn't contain at this time any special
characters.
If i set the book configuration to point to plain .apt without any special
characters only, everything works fine, but as soon as I have french
national characters in the apt files, i get this error.

I'm using (as far as i know) the last version of the plugin
("1.0-alpha-10").

My POM looks like that :
            <plugin>
              <groupId>org.apache.maven.doxia</groupId>
              <artifactId>doxia-maven-plugin</artifactId>
              <version>1.0-alpha-10</version>
              <executions>
                <execution>
                  <phase>pre-site</phase>
                  <goals>
                    <goal>render-books</goal>
                  </goals>
                </execution>
              </executions>
              <configuration>
                <inputEncoding>iso-8859-1</inputEncoding>       <!-- added
but useless -->
                <outputEncoding>iso-8859-1</outputEncoding>  <!-- added but
useless -->
                <books>
                  <book>
                    <directory>site/</directory>
                    <descriptor>pdf/example.xml</descriptor>
                    <formats>
                      <format>
                        <id>pdf</id>
                      </format>
                    </formats>
                  </book>
                </books>
              </configuration>
            </plugin>

Result stacktrace :

[INFO]
------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Invalid byte 2 of 3-byte UTF-8 sequence.
[INFO]
------------------------------------------------------------------------
[INFO] Trace
ExceptionConverter: org.xml.sax.SAXParseException: Invalid byte 2 of 3-byte
UTF-8 sequence.
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1810)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
        at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
        at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
        at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
        at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
        at com.lowagie.text.xml.XmlParser.go(Unknown Source)
        at com.lowagie.text.xml.XmlParser.parse(Unknown Source)
        at com.lowagie.text.xml.XmlToXXX.parse(Unknown Source)
        at
org.apache.maven.doxia.module.itext.ITextUtil.writePdf(ITextUtil.java:118)
        at
org.apache.maven.doxia.book.services.renderer.PdfBookRenderer.renderXML(PdfBookRenderer.java:50)
        at
org.apache.maven.doxia.book.services.renderer.AbstractITextBookRenderer.renderBook(AbstractITextBookRenderer.java:162)
        at
org.apache.maven.doxia.book.DefaultBookDoxia.renderBook(DefaultBookDoxia.java:126)
        at
org.apache.maven.doxia.plugin.DoxiaRenderBooksMojo.execute(DoxiaRenderBooksMojo.java:214)
        at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)


Thanks in advance for any help about this subject.

Regards,

--
Serge.


Re: ISO-8859-1 -> "Invalid byte 2 of 3-byte UTF-8 sequence" error with Doxia (maven plugin)

Posted by Vincent Siveton <vi...@gmail.com>.
Hi Serge,

It is a known limitation in the iText plugin. The implementation uses
the deprecated itext xml and the xml encoding is hardcoded to utf-8

Cheers,

Vincent

[1] http://www.lowagie.com/iText/tutorial/ch07.html

2007/11/9, serge.simon@mpsa.com <se...@mpsa.com>:
>
> Hello,
> I'm trying to use the Doxia Maven plugin to automatically render .pdf from
> APT and i'm encountering this problem, does any of you have an idea about
> this ?
> The .apt files are encoded in ISO-8859-1 and contain various french
> characters (like accentued characters).
>
> I got the "Invalid byte 2 of 3-byte UTF-8 sequence." error and i really
> don't know how to deal with ISO-8859-1 with this plugin, what should I add
> and where ?
> I've tried to add in my pom.xml the <inputEncoding> and <outputEncoding>
> lines but the behaviour is just the same with or without.
>
> My Doxia "example.xml" file doesn't contain at this time any special
> characters.
> If i set the book configuration to point to plain .apt without any special
> characters only, everything works fine, but as soon as I have french
> national characters in the apt files, i get this error.
>
> I'm using (as far as i know) the last version of the plugin
> ("1.0-alpha-10").
>
> My POM looks like that :
>             <plugin>
>               <groupId>org.apache.maven.doxia</groupId>
>               <artifactId>doxia-maven-plugin</artifactId>
>               <version>1.0-alpha-10</version>
>               <executions>
>                 <execution>
>                   <phase>pre-site</phase>
>                   <goals>
>                     <goal>render-books</goal>
>                   </goals>
>                 </execution>
>               </executions>
>               <configuration>
>                 <inputEncoding>iso-8859-1</inputEncoding>       <!-- added
> but useless -->
>                 <outputEncoding>iso-8859-1</outputEncoding>  <!-- added but
> useless -->
>                 <books>
>                   <book>
>                     <directory>site/</directory>
>                     <descriptor>pdf/example.xml</descriptor>
>                     <formats>
>                       <format>
>                         <id>pdf</id>
>                       </format>
>                     </formats>
>                   </book>
>                 </books>
>               </configuration>
>             </plugin>
>
> Result stacktrace :
>
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Invalid byte 2 of 3-byte UTF-8 sequence.
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Trace
> ExceptionConverter: org.xml.sax.SAXParseException: Invalid byte 2 of 3-byte
> UTF-8 sequence.
>         at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
>         at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1810)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
>         at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
>         at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
>         at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
>         at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
>         at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
>         at com.lowagie.text.xml.XmlParser.go(Unknown Source)
>         at com.lowagie.text.xml.XmlParser.parse(Unknown Source)
>         at com.lowagie.text.xml.XmlToXXX.parse(Unknown Source)
>         at
> org.apache.maven.doxia.module.itext.ITextUtil.writePdf(ITextUtil.java:118)
>         at
> org.apache.maven.doxia.book.services.renderer.PdfBookRenderer.renderXML(PdfBookRenderer.java:50)
>         at
> org.apache.maven.doxia.book.services.renderer.AbstractITextBookRenderer.renderBook(AbstractITextBookRenderer.java:162)
>         at
> org.apache.maven.doxia.book.DefaultBookDoxia.renderBook(DefaultBookDoxia.java:126)
>         at
> org.apache.maven.doxia.plugin.DoxiaRenderBooksMojo.execute(DoxiaRenderBooksMojo.java:214)
>         at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at
> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>
>
> Thanks in advance for any help about this subject.
>
> Regards,
>
> --
> Serge.
>
>