[ https://issues.apache.org/jira/browse/VELOCITY-880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16063780#comment-16063780 ]
Claude Brisson commented on VELOCITY-880: ----------------------------------------- The method takes the name of the column, so the user can potentially use it to build the reader with the encoding he wants. Otherwise than that; where would that encoding come from? Also, storing the template in a BLOB column rather than in a CLOB column is obviously a design mistake that I don't think we should care about. > DataSourceResourceLoader corrupts UTF-8 encoded characters in template > ---------------------------------------------------------------------- > > Key: VELOCITY-880 > URL: https://issues.apache.org/jira/browse/VELOCITY-880 > Project: Velocity > Issue Type: Bug > Affects Versions: 2.1.x > Environment: Oracle12c and HSQLDB 2.3.4, JDK 1.8 > Reporter: James R Doyle > Assignee: Claude Brisson > Fix For: 2.0 > > Attachments: project.tar.gz, velocity-880.patch > > Original Estimate: 24h > Remaining Estimate: 24h > > A long-withstanding bug in the DataSourceResourceLoader corrupts UTF-8 > templates retrieved from the database. The Unit Test suite for this resource > loader has deficiencies that hide the bug. > The cause of the problem is this: > {code} > InputStream rawStream = rs.getAsciiStream(templateColumn); > The resolution of the problem is simply: > Reader r = rs.getCharacterStream(templateColumn); > InputStream rawStream = null; > try { > rawStream = IOUtils.toInputStream(IOUtils.toString(r), > encoding); > } catch (IOException ioe) {} > {code} > Once done, the test failure vanishes: > org.junit.ComparisonFailure: Unicode test failed. > Expected :The Euro Currency Symbol € is a two-byte UTF-8 encoded > character. > Actual :The Euro Currency Symbol ? is a two-byte UTF-8 encoded > character. > The bug was verified and the fix was tested against Oracle12c and HSQLDB > 2.3.4 using a CLOB column to store the template data. > The Unit Tests for this resource loader need attention. > Please see VELOCITY-599 ; long standing problem, which has been erroneously > marked as resolved but has been in the codebase for a long time. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org For additional commands, e-mail: dev-h...@velocity.apache.org