[prev in list] [next in list] [prev in thread] [next in thread]
List: openejb-development
Subject: Re: Problem with encoding (perhabs OpenEJB)
From: Mayras <priest () ngs ! ru>
Date: 2008-02-21 15:11:23
Message-ID: 15613004.post () talk ! nabble ! com
[Download RAW message or body]
Jacek Laskowski wrote:
>
> On Wed, Feb 20, 2008 at 9:08 PM, Mayras <priest@ngs.ru> wrote:
> >
> > I'm using Geronimo Server v.2.0.2.
> > My application consist of Struts module, OpenEJB module and MySQL
> > Server.
> > When I save my datafield in DB using russian language, I have the
> > problem -
> > my field is "?????1".
> > I set charset "UTF-8" in DB for this field, I checked UTF-8 encoding of
> > this
> > field in Struts module - all correct. What happened? Perhabs, has
> > OpenEJB
> > default encoding? How am I set this encoding?
>
> Hi,
>
> Could you reproduce it with a small example you could share? How do
> you connect to your DB? Is it JPA or a datasource and JDBC? How do you
> verify what encoding the data is saved with? More questions than
> answers, huh? ;-)
>
> Jacek
>
> --
> Jacek Laskowski
> http://www.JacekLaskowski.pl
>
>
I set parameter "-Dfile.encoding=UTF-8" - it works correct. I'm logged
(Log4J) in the log-file and in System.out, my field is correct, my field
have correct UTF-8 encoding in Struts Module, in Session Bean of OpenEJB.
But after calling method "create" of my Entity Bean (persistence-type:
Container), in DB appear row with my field equal "?????1". I'm using
mysql-connector-java-5.1.5, I deploy it through Geronimo Console and make RA
Connector, geronimo-ra.xml below:
<?xml version="1.0" encoding="UTF-8"?>
<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.1">
<dep:environment
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
<dep:moduleId>
<dep:groupId>console.dbpool</dep:groupId>
<dep:artifactId>PoputchikPool</dep:artifactId>
<dep:version>1.0</dep:version>
<dep:type>rar</dep:type>
</dep:moduleId>
<dep:dependencies>
<dep:dependency>
<dep:groupId>com.mysql.db</dep:groupId>
<dep:artifactId>mysql-connector-java</dep:artifactId>
<dep:version>5.1.5-bin</dep:version>
<dep:type>jar</dep:type>
</dep:dependency>
</dep:dependencies>
</dep:environment>
<resourceadapter>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
<connectiondefinition-instance>
<name>PoputchikPool</name>
<config-property-setting
name="UserName">root</config-property-setting>
<config-property-setting
name="Driver">com.mysql.jdbc.Driver</config-property-setting>
<config-property-setting
name="ConnectionURL">jdbc:mysql://localhost:3306/Poputchik</config-property-setting>
<connectionmanager>
<local-transaction/>
<single-pool>
<max-size>10</max-size>
<min-size>0</min-size>
<match-one/>
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
</connection-definition>
</outbound-resourceadapter>
</resourceadapter>
</connector>
ejb-jar my entity:
<entity>
<description>Stores users.</description>
<ejb-name>UserBean</ejb-name>
<local-home>ru.sibteam.fellowtraveller.ejb.entity.users.UserLocalHome</local-home>
<local>ru.sibteam.fellowtraveller.ejb.entity.users.UserLocal</local>
<ejb-class>ru.sibteam.fellowtraveller.ejb.entity.users.UserBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>false</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>UserBean</abstract-schema-name>
<cmp-field>
<field-name>id</field-name>
</cmp-field>
<cmp-field>
<field-name>firstName</field-name>
</cmp-field>
<cmp-field>
<field-name>lastName</field-name>
</cmp-field>
<cmp-field>
<field-name>login</field-name>
</cmp-field>
<cmp-field>
<field-name>pass</field-name>
</cmp-field>
<cmp-field>
<field-name>birthDate</field-name>
</cmp-field>
<cmp-field>
<field-name>male</field-name>
</cmp-field>
<cmp-field>
<field-name>icq</field-name>
</cmp-field>
<cmp-field>
<field-name>phone</field-name>
</cmp-field>
<primkey-field>id</primkey-field>
<resource-ref>
<description>This is a reference to a JDBC
database.</description>
<res-ref-name>PoputchikPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<query>
<query-method>
<method-name>findAll</method-name>
<method-params/>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM UserBean AS a order by
a.login asc ]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findByEmailLogin</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM UserBean AS a where
a.login like ?1 ]]>
</ejb-ql>
</query>
</entity>
That's all:)
> working:
--
View this message in context: \
http://www.nabble.com/Problem-with-encoding-%28perhabs-OpenEJB%29-tp15604954p15613004.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic