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.
