java - How to get some utf-8 characters using hibernate and spring mvc in database? -


i have developed small server program. when extract tuple database, characters become ÇѱÛÃàÁ¦. modify server.xml. ÇѱÛÃàÁ¦ characters still appear. me. how can correct characters?

this server.xml. (i use apache tomcat 7.0 server.)

<?xml version="1.0" encoding="utf-8"?>  <!--    licensed apache software foundation (asf) under 1 or more    contributor license agreements.  see notice file distributed    work additional information regarding copyright ownership.    asf licenses file under apache license, version 2.0    (the "license"); may not use file except in compliance    license.  may obtain copy of license @          http://www.apache.org/licenses/license-2.0      unless required applicable law or agreed in writing, software    distributed under license distributed on "as is" basis,    without warranties or conditions of kind, either express or implied.    see license specific language governing permissions ,    limitations under license.  --><!-- note:  "server" not "container", may not       define subcomponents such "valves" @ level.       documentation @ /docs/config/server.html   --><server port="8005" shutdown="shutdown">    <listener classname="org.apache.catalina.startup.versionloggerlistener"/>    <!-- security listener. documentation @ /docs/config/listeners.html    <listener classname="org.apache.catalina.security.securitylistener" />    -->    <!--apr library loader. documentation @ /docs/apr.html -->    <listener sslengine="on" classname="org.apache.catalina.core.aprlifecyclelistener"/>    <!--initialize jasper prior webapps loaded. documentation @ /docs/jasper-howto.html -->    <listener classname="org.apache.catalina.core.jasperlistener"/>    <!-- prevent memory leaks due use of particular java/javax apis-->    <listener classname="org.apache.catalina.core.jrememoryleakpreventionlistener"/>    <listener classname="org.apache.catalina.mbeans.globalresourceslifecyclelistener"/>    <listener classname="org.apache.catalina.core.threadlocalleakpreventionlistener"/>      <!-- global jndi resources         documentation @ /docs/jndi-resources-howto.html    -->    <globalnamingresources>      <!-- editable user database can used           userdatabaserealm authenticate users      -->      <resource auth="container" description="user database can updated , saved" factory="org.apache.catalina.users.memoryuserdatabasefactory" name="userdatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.userdatabase"/>    </globalnamingresources>      <!-- "service" collection of 1 or more "connectors" share         single "container" note:  "service" not "container",         may not define subcomponents such "valves" @ level.         documentation @ /docs/config/service.html     -->    <service name="catalina">        <!--the connectors can use shared executor, can define 1 or more named thread pools-->      <!--      <executor name="tomcatthreadpool" nameprefix="catalina-exec-"          maxthreads="150" minsparethreads="4"/>      -->          <!-- "connector" represents endpoint requests received           , responses returned. documentation @ :           java http connector: /docs/config/http.html (blocking & non-blocking)           java ajp  connector: /docs/config/ajp.html           apr (http/ajp) connector: /docs/apr.html           define non-ssl http/1.1 connector on port 8080      -->      <connector uriencoding="utf-8" connectiontimeout="20000" port="8080" protocol="http/1.1" redirectport="8443"/>      <!-- "connector" using shared thread pool-->      <!--      <connector executor="tomcatthreadpool"                 port="8080" protocol="http/1.1"                 connectiontimeout="20000"                 redirectport="8443" />      -->      <!-- define ssl http/1.1 connector on port 8443           connector uses bio implementation requires jsse           style configuration. when using apr/native implementation,           openssl style configuration required described in apr/native           documentation -->      <!--      <connector port="8443" protocol="org.apache.coyote.http11.http11protocol"                 maxthreads="150" sslenabled="true" scheme="https" secure="true"                 clientauth="false" sslprotocol="tls" />      -->        <!-- define ajp 1.3 connector on port 8009 -->      <connector uriencoding="utf-8" port="8009" protocol="ajp/1.3" redirectport="8443"/>          <!-- engine represents entry point (within catalina) processes           every request.  engine implementation tomcat stand alone           analyzes http headers included request, , passes them           on appropriate host (virtual host).           documentation @ /docs/config/engine.html -->        <!-- should set jvmroute support load-balancing via ajp ie :      <engine name="catalina" defaulthost="localhost" jvmroute="jvm1">      -->      <engine defaulthost="localhost" name="catalina">          <!--for clustering, please take @ documentation at:            /docs/cluster-howto.html  (simple how to)            /docs/config/cluster.html (reference documentation) -->        <!--        <cluster classname="org.apache.catalina.ha.tcp.simpletcpcluster"/>        -->          <!-- use lockoutrealm prevent attempts guess user passwords             via brute-force attack -->        <realm classname="org.apache.catalina.realm.lockoutrealm">          <!-- realm uses userdatabase configured in global jndi               resources under key "userdatabase".  edits               performed against userdatabase               available use realm.  -->          <realm classname="org.apache.catalina.realm.userdatabaserealm" resourcename="userdatabase"/>        </realm>          <host appbase="webapps" autodeploy="true" name="localhost" unpackwars="true">            <!-- singlesignon valve, share authentication between web applications               documentation at: /docs/config/valve.html -->          <!--          <valve classname="org.apache.catalina.authenticator.singlesignon" />          -->            <!-- access log processes example.               documentation at: /docs/config/valve.html               note: pattern used equivalent using pattern="common" -->          <valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>          <context docbase="server" path="/jinggumdari" reloadable="true" source="org.eclipse.jst.jee.server:server"/></host>      </engine>    </service>  </server>

this web.xml.

<?xml version="1.0" encoding="utf-8"?>  <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  	xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"  	xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    	<!-- definition of root spring container shared servlets , filters -->  	<context-param>  		<param-name>contextconfiglocation</param-name>  		<param-value>/web-inf/spring/root-context.xml</param-value>  	</context-param>  	  	<!-- creates spring container shared servlets , filters -->  	<listener>  		<listener-class>org.springframework.web.context.contextloaderlistener</listener-class>  	</listener>    	<!-- processes application requests -->  	<servlet>  		<servlet-name>appservlet</servlet-name>  		<servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>  		<init-param>  			<param-name>contextconfiglocation</param-name>  			<param-value>/web-inf/spring/appservlet/servlet-context.xml</param-value>  		</init-param>  		<load-on-startup>1</load-on-startup>  	</servlet>  		  	<servlet-mapping>  		<servlet-name>appservlet</servlet-name>  		<url-pattern>/</url-pattern>  	</servlet-mapping>  	  	<filter>  		<filter-name>encodingfilter</filter-name>  		<filter-class>org.springframework.web.filter.characterencodingfilter</filter-class>  		<init-param>  			<param-name>encoding</param-name>  			<param-value>utf-8</param-value>  		</init-param>  		<init-param>  			<param-name>forceencoding</param-name>  			<param-value>true</param-value>  		</init-param>  	</filter>    	<filter-mapping>  		<filter-name>encodingfilter</filter-name>  		<url-pattern>/*</url-pattern>  	</filter-mapping>    </web-app>

this servlet-context.xml.

<?xml version="1.0" encoding="utf-8"?>  <beans:beans xmlns="http://www.springframework.org/schema/mvc"  	xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:beans="http://www.springframework.org/schema/beans"  	xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"  	xsi:schemalocation="http://www.springframework.org/schema/mvc      http://www.springframework.org/schema/mvc/spring-mvc.xsd          http://www.springframework.org/schema/beans          http://www.springframework.org/schema/beans/spring-beans.xsd          http://www.springframework.org/schema/context          http://www.springframework.org/schema/context/spring-context.xsd          http://www.springframework.org/schema/tx          http://www.springframework.org/schema/tx/spring-tx.xsd">  	<!-- dispatcherservlet context: defines servlet's request-processing   		infrastructure -->    	<!-- enables spring mvc @controller programming model -->  	<annotation-driven />    	<!-- handles http requests /resources/** efficiently serving   		up static resources in ${webapproot}/resources directory -->  	<resources mapping="/resources/**" location="/resources/" />    	<!-- resolves views selected rendering @controllers .jsp resources   		in /web-inf/views directory -->  	<beans:bean  		class="org.springframework.web.servlet.view.internalresourceviewresolver">  		<beans:property name="prefix" value="/web-inf/views/" />  		<beans:property name="suffix" value=".jsp" />  	</beans:bean>    	<beans:bean  		class="org.springframework.web.servlet.view.contentnegotiatingviewresolver">  		<beans:property name="favorpathextension" value="true" />  		<beans:property name="ignoreacceptheader" value="true" />    		<beans:property name="mediatypes">  			<beans:map>  				<beans:entry key="json" value="application/json" />  				<beans:entry key="html" value="text/html" />  			</beans:map>  		</beans:property>  	</beans:bean>    	<context:component-scan base-package="kr.ac.jbnu.jinggumdari" />    	<beans:bean  		class="org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor" />    	<beans:bean id="datasource" class="org.apache.commons.dbcp.basicdatasource"  		destroy-method="close">  		<beans:property name="driverclassname" value="com.mysql.jdbc.driver" />  		<beans:property name="url"  			value="jdbc:mysql://localhost:3306/jinggumdari" />  		<beans:property name="username" value="root" />  		<beans:property name="password" value="mysql1234" />  	</beans:bean>    	<!-- hibernate 4 sessionfactory bean definition -->  	<beans:bean id="hibernate4annotatedsessionfactory"  		class="org.springframework.orm.hibernate4.localsessionfactorybean">  		<beans:property name="datasource" ref="datasource" />  		<beans:property name="annotatedclasses">  			<beans:list>  				<beans:value>kr.ac.jbnu.jinggumdari.model.member</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.festival</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.festivalimage</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.interest</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.review</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.reviewimage</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.search</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.routeinfo</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.route</beans:value>  				<beans:value>kr.ac.jbnu.jinggumdari.model.writing</beans:value>  			</beans:list>  		</beans:property>  		<beans:property name="hibernateproperties">  			<beans:props>  				<beans:prop key="hibernate.dialect">org.hibernate.dialect.mysqldialect  				</beans:prop>  				<beans:prop key="hibernate.show_sql">true</beans:prop>  			</beans:props>  		</beans:property>  		<beans:property name="packagestoscan" value="com.hibernate.yourpackage" />  	</beans:bean>    	<beans:bean id="memberdao" class="kr.ac.jbnu.jinggumdari.dao.memberdaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="memberservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.memberserviceimpl">  		<beans:property name="memberdao" ref="memberdao"></beans:property>  	</beans:bean>  	  	<beans:bean id="festivaldao" class="kr.ac.jbnu.jinggumdari.dao.festivaldaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="festivalservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.festivalserviceimpl">  		<beans:property name="festivaldao" ref="festivaldao"></beans:property>  	</beans:bean>  	  	<beans:bean id="festivalimagedao" class="kr.ac.jbnu.jinggumdari.dao.festivalimagedaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="festivalimageservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.festivalimageserviceimpl">  		<beans:property name="festivalimagedao" ref="festivalimagedao"></beans:property>  	</beans:bean>  	  	<beans:bean id="interestdao" class="kr.ac.jbnu.jinggumdari.dao.interestdaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="interestservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.interestserviceimpl">  		<beans:property name="interestdao" ref="interestdao"></beans:property>  	</beans:bean>    	<beans:bean id="reviewdao" class="kr.ac.jbnu.jinggumdari.dao.reviewdaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="reviewservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.reviewserviceimpl">  		<beans:property name="reviewdao" ref="reviewdao"></beans:property>  	</beans:bean>  	  	<beans:bean id="reviewimagedao" class="kr.ac.jbnu.jinggumdari.dao.reviewimagedaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="reviewimageservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.reviewimageserviceimpl">  		<beans:property name="reviewimagedao" ref="reviewimagedao"></beans:property>  	</beans:bean>  	  	<beans:bean id="routedao" class="kr.ac.jbnu.jinggumdari.dao.routedaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="routeservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.routeserviceimpl">  		<beans:property name="routedao" ref="routedao"></beans:property>  	</beans:bean>  	  	<beans:bean id="routeinfodao" class="kr.ac.jbnu.jinggumdari.dao.routeinfodaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="routeinfoservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.routeinfoserviceimpl">  		<beans:property name="routeinfodao" ref="routeinfodao"></beans:property>  	</beans:bean>  	  	<beans:bean id="searchdao" class="kr.ac.jbnu.jinggumdari.dao.searchdaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="searchservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.searchserviceimpl">  		<beans:property name="searchdao" ref="searchdao"></beans:property>  	</beans:bean>    	<beans:bean id="writingdao" class="kr.ac.jbnu.jinggumdari.dao.writingdaoimpl">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  	<beans:bean id="writingservice"  		class="kr.ac.jbnu.jinggumdari.serviceimplementation.writingserviceimpl">  		<beans:property name="writingdao" ref="writingdao"></beans:property>  	</beans:bean>  	  	<tx:annotation-driven transaction-manager="transactionmanager" />    	<beans:bean id="transactionmanager"  		class="org.springframework.orm.hibernate4.hibernatetransactionmanager">  		<beans:property name="sessionfactory"  			ref="hibernate4annotatedsessionfactory" />  	</beans:bean>  </beans:beans>

and needed more?

first remove line

<%@ page language="java" contenttype="text/html; charset=utf-8"         pageencoding="utf-8"%> 

and add header tag

<meta http-equiv='content-type' content='text/html; charset=utf-8' /> 

then add web.xml

 <filter>     <filter-name>encoding-filter</filter-name>     <filter-class>org.springframework.web.filter.characterencodingfilter</filter-class>     <init-param>        <param-name>encoding</param-name>        <param-value>utf-8</param-value>     </init-param>  </filter>  <filter-mapping>     <filter-name>encoding-filter</filter-name>     <url-pattern>/*</url-pattern>  </filter-mapping> 

then add hibernate configuration file into

<bean id="sessionfactory"         class="org.springframework.orm.hibernate3.annotation.annotationsessionfactorybean">         <property name="datasource" ref="datasource" />         <property name="hibernateproperties">             <props>                 <prop key="hibernate.dialect">org.hibernate.dialect.mysql5dialect</prop>                 <prop key="hibernate.show_sql">true</prop>                 <prop key="hibernate.hbm2ddl.auto">update</prop>                 <prop key="hibernate.connection.charset">utf8</prop>                 <prop key="hibernate.connection.characterencoding">utf8</prop>                 <prop key="hibernate.connection.useunicode">true</prop>             </props>         </property> 

Comments

Popular posts from this blog

java - BeanIO write annotated class to fixedlength -

Using Java 8 lambdas/transformations to combine and flatten two Maps -

How to connect android app to App engine -