[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