Hi team,

Thank you very much.

Cheers,
Ben

On Thu, Nov 10, 2011 at 3:45 AM, Francis De Brabandere
<[email protected]>wrote:

> I created an issue for this:
> https://issues.apache.org/jira/browse/EMPIREDB-122
>
> please continue the discussion overthere
>
> On Wed, Nov 9, 2011 at 8:38 PM, Francis De Brabandere
> <[email protected]> wrote:
> > Hi Ben,
> >
> > Good news, this can be fixed and has to be fixed on our side. In
> > sqlserver you have to prepend your string with N for unicode, for
> > example:
> > INSERT INTO DEPARTMENTS( NAME, BUSINESS_UNIT, UPDATE_TIMESTAMP) VALUES
> > ( N'junit', N'中文', '2011-11-09 20:28:40.718')
> >
> > Change DBDatabaseDriver line 664 to the following to fix the issue:
> > valBuf.append("N'");
> >
> > Rainer, how would we fix this? getValueString() in DBDatabaseDriver is
> > final. We could do this by default or have an option to enable the
> > N's.
> >
> > Cheers,
> > Francis
> >
> > On Wed, Nov 9, 2011 at 4:57 AM, Ben Ng <[email protected]> wrote:
> >> Hi Francis,
> >>
> >> Attached with a project which can reproduce my issue. Thanks
> >>
> >> Cheers,
> >> Ben
> >>
> >> On Wed, Nov 9, 2011 at 5:07 AM, Francis De Brabandere <
> [email protected]>
> >> wrote:
> >>>
> >>> Hi Ben,
> >>>
> >>> Any chance you could set up a very small project to reproduce this
> >>> encoding issue?
> >>> Something like this:
> >>>
> >>>
> https://svn.apache.org/repos/asf/incubator/empire-db/tags/apache-empire-db-2.2.0-incubating/empire-db/src/test/java/org/apache/empire/db/hsql/DBDatabaseDriverHSqlTest.java
> >>>
> >>> Cheers,
> >>> Francis
> >>>
> >>>
> >>>
> >>> On Tue, Nov 8, 2011 at 2:50 AM, Ben Ng <[email protected]> wrote:
> >>> > Dear Francis,
> >>> >
> >>> > I am now using MS SQL Server 2008. I have tried two JDBC drivers.
> Both
> >>> > are
> >>> > fail to store Chinese character without prepared statements.
> >>> > 1) net.sourceforge.jtds.jdbc.Driver (jtds-1.2.jar)
> >>> > 2) com.microsoft.sqlserver.jdbc.SQLServerDriver (sqljdbc4.jar latest
> >>> > version)
> >>> >
> >>> > Collation of the database is SQL_Latin1_General_CP1_CI_AS and the
> field
> >>> > is a
> >>> > NVARCHAR.
> >>> > Hope that those information can be helpful to you. Thanks
> >>> >
> >>> > Best wishes,
> >>> > Ben
> >>> >
> >>> >
> >>> > On Mon, Nov 7, 2011 at 10:34 PM, Francis De Brabandere
> >>> > <[email protected]>
> >>> > wrote:
> >>> >>
> >>> >> Ben, could you tell us what database and driver version you are
> using?
> >>> >>
> >>> >> I'll try to create a unit/integration test for this.
> >>> >>
> >>> >> Cheers,
> >>> >> F
> >>> >>
> >>> >> On Mon, Nov 7, 2011 at 3:25 PM, Rainer Döbele <[email protected]>
> >>> >> wrote:
> >>> >> > Hi Francis,
> >>> >> >
> >>> >> > I agree but we need a test case for this.
> >>> >> > It may as well depend on the JDBC-Driver used - in fact I don't
> know.
> >>> >> > Also my Chinese is a little rusted ;-)
> >>> >> >
> >>> >> > Regards
> >>> >> > Rainer
> >>> >> >
> >>> >> >> from: Francis De Brabandere [mailto:[email protected]]
> >>> >> >> to: [email protected]
> >>> >> >> re: Re: Inserting Chinese character record to DB
> >>> >> >>
> >>> >> >> I think this still is something we should fix for non-prepared
> >>> >> >> statements
> >>> >> >>
> >>> >> >> On Mon, Nov 7, 2011 at 9:41 AM, Ben Ng <[email protected]> wrote:
> >>> >> >> > Hi Rainer,
> >>> >> >> >
> >>> >> >> > It seems that my problem have been solved when I enable
> prepared
> >>> >> >> statement.
> >>> >> >> > Thank you for your help.
> >>> >> >> >
> >>> >> >> > Regards,
> >>> >> >> > Ben
> >>> >> >> >
> >>> >> >> > On Mon, Nov 7, 2011 at 4:19 PM, Rainer Döbele <
> [email protected]>
> >>> >> >> wrote:
> >>> >> >> >>
> >>> >> >> >> Hi Ben,
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> I don't know for sure but it may be a good idea to tell
> Empire-db
> >>> >> >> >> to
> >>> >> >> >> use prepared statements.
> >>> >> >> >>
> >>> >> >> >> Simply write:
> >>> >> >> >>
> >>> >> >> >> db.setPreparedStatementsEnabled(true);
> >>> >> >> >>
> >>> >> >> >> in your initialization code.
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> Please let us know whether this works and tell us which DBMS
> and
> >>> >> >> >> JDBC-Driver you are using.
> >>> >> >> >>
> >>> >> >> >> Regards
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> Rainer
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> from: Ben Ng [mailto:[email protected]]
> >>> >> >> >> to: [email protected]
> >>> >> >> >> re: Re: Inserting Chinese character record to DB
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> Hi Empire-DB team,
> >>> >> >> >>
> >>> >> >> >> I am trying to insert a record with Chinese character from my
> JSP
> >>> >> >> >> page.
> >>> >> >> >> The encoding is set to UTF-8 already and I am trying to insert
> >>> >> >> >> the
> >>> >> >> >> record by the code below where "remarks" is a string contain
> >>> >> >> >> Chinese
> >>> >> >> characters.
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> DBRecord rec = new DBRecord();
> >>> >> >> >> rec.create(db.REQUESTS);
> >>> >> >> >> rec.setValue(db.REQUESTS.REMARKS, remarks); rec.update(conn);
> >>> >> >> >>
> >>> >> >> >> After inserting the record, the data of the field REMARKS
> become
> >>> >> >> >> "???".
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> I tried to use traditional method(PreparedStatement) to insert
> >>> >> >> >> this
> >>> >> >> >> record by using the same db and connection.
> >>> >> >> >> The data can be inserted correctly.
> >>> >> >> >> Is there any step I have missed in my code so it can support
> >>> >> >> >> UTF-8?
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> I really appreciate for what your team have done. Thanks a
> lot.
> >>> >> >> >>
> >>> >> >> >> Thanks & Regards,
> >>> >> >> >> Ben
> >>> >> >> >
> >>> >> >>
> >>> >> >>
> >>> >> >>
> >>> >> >> --
> >>> >> >> http://www.somatik.be
> >>> >> >> Microsoft gives you windows, Linux gives you the whole house.
> >>> >> >
> >>> >>
> >>> >>
> >>> >>
> >>> >> --
> >>> >> http://www.somatik.be
> >>> >> Microsoft gives you windows, Linux gives you the whole house.
> >>> >
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> http://www.somatik.be
> >>> Microsoft gives you windows, Linux gives you the whole house.
> >>
> >>
> >
> >
> >
> > --
> > http://www.somatik.be
> > Microsoft gives you windows, Linux gives you the whole house.
> >
>
>
>
> --
> http://www.somatik.be
> Microsoft gives you windows, Linux gives you the whole house.
>

Reply via email to