﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Love Fly With Dream-随笔分类-JAVA疯</title><link>http://www.blogjava.net/leton2008/category/7189.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 00:29:08 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 00:29:08 GMT</pubDate><ttl>60</ttl><item><title> (求助)hibernate mysql5读取乱码问题</title><link>http://www.blogjava.net/leton2008/archive/2006/09/26/72100.html</link><dc:creator>leton2008</dc:creator><author>leton2008</author><pubDate>Tue, 26 Sep 2006 10:50:00 GMT</pubDate><guid>http://www.blogjava.net/leton2008/archive/2006/09/26/72100.html</guid><wfw:comment>http://www.blogjava.net/leton2008/comments/72100.html</wfw:comment><comments>http://www.blogjava.net/leton2008/archive/2006/09/26/72100.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leton2008/comments/commentRss/72100.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leton2008/services/trackbacks/72100.html</trackback:ping><description><![CDATA[
		<p>        最近在忙着编写一个应用，其中使用到了hibernate3和mysql5。页面主要采用struts，也采用一点点ajax的技术。<br />        本来页面在存储和读取方面都存在乱码现象的。mysql的配置和hibernate的连接的字符集目前都调整为UTF8了。但是在通过跟踪时，发现hibernate获得中文字符仍然显示为乱码，从而导致后面传回页面时都出现乱码，后来采用new String(tempstr.getBytes("ISO-8859-1"),"GBK"),解决了这个问题，但是发现如果改动的话，需要改动很多dao的代码。<br />        </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span>
				<img id="Codehighlighter1_42_417_Open_Image" onclick="this.style.display='none'; Codehighlighter1_42_417_Open_Text.style.display='none'; Codehighlighter1_42_417_Closed_Image.style.display='inline'; Codehighlighter1_42_417_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
				<img id="Codehighlighter1_42_417_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_42_417_Closed_Text.style.display='none'; Codehighlighter1_42_417_Open_Image.style.display='inline'; Codehighlighter1_42_417_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> String isoToGbk(String str) </span>
				<span id="Codehighlighter1_42_417_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_42_417_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080"> 2</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        String reStr </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">new</span>
						<span style="COLOR: #000000"> String();<br /></span>
						<span style="COLOR: #008080"> 3</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_111_378_Open_Image" onclick="this.style.display='none'; Codehighlighter1_111_378_Open_Text.style.display='none'; Codehighlighter1_111_378_Closed_Image.style.display='inline'; Codehighlighter1_111_378_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_111_378_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_111_378_Closed_Text.style.display='none'; Codehighlighter1_111_378_Open_Image.style.display='inline'; Codehighlighter1_111_378_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> (str.length() </span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">) </span>
						<span id="Codehighlighter1_111_378_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_111_378_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080"> 4</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_129_250_Open_Image" onclick="this.style.display='none'; Codehighlighter1_129_250_Open_Text.style.display='none'; Codehighlighter1_129_250_Closed_Image.style.display='inline'; Codehighlighter1_129_250_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_129_250_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_129_250_Closed_Text.style.display='none'; Codehighlighter1_129_250_Open_Image.style.display='inline'; Codehighlighter1_129_250_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">try</span>
								<span style="COLOR: #000000"> </span>
								<span id="Codehighlighter1_129_250_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_129_250_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080"> 5</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
										<span style="COLOR: #0000ff">byte</span>
										<span style="COLOR: #000000">[] temp </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> str.getBytes(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">ISO-8859-1</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);<br /></span>
										<span style="COLOR: #008080"> 6</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                reStr </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000"> String(temp, </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">GBK</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);<br /></span>
										<span style="COLOR: #008080"> 7</span>
										<span style="COLOR: #000000">
												<img id="Codehighlighter1_291_342_Open_Image" onclick="this.style.display='none'; Codehighlighter1_291_342_Open_Text.style.display='none'; Codehighlighter1_291_342_Closed_Image.style.display='inline'; Codehighlighter1_291_342_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_291_342_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_291_342_Closed_Text.style.display='none'; Codehighlighter1_291_342_Open_Image.style.display='inline'; Codehighlighter1_291_342_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            }</span>
								</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000"> (UnsupportedEncodingException e) </span>
								<span id="Codehighlighter1_291_342_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_291_342_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080"> 8</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                e.printStackTrace();<br /></span>
										<span style="COLOR: #008080"> 9</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">10</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> reStr;<br /></span>
								<span style="COLOR: #008080">11</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_383_416_Open_Image" onclick="this.style.display='none'; Codehighlighter1_383_416_Open_Text.style.display='none'; Codehighlighter1_383_416_Closed_Image.style.display='inline'; Codehighlighter1_383_416_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_383_416_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_383_416_Closed_Text.style.display='none'; Codehighlighter1_383_416_Open_Image.style.display='inline'; Codehighlighter1_383_416_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span>
						</span>
						<span style="COLOR: #0000ff">else</span>
						<span id="Codehighlighter1_383_416_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_383_416_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">12</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">""</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">13</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</span>
				</span>
		</div>
		<br />
		<p>以上代码是读取时转换的方法。<br />录入的时候采用过滤器就解决了GBK向UTF-8过渡的问题了。按着大家的说法，读取的时候应该是没有什么问题的啊。谁能给我一个号的解决方案呢？</p>
		<p> </p>
<img src ="http://www.blogjava.net/leton2008/aggbug/72100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leton2008/" target="_blank">leton2008</a> 2006-09-26 18:50 <a href="http://www.blogjava.net/leton2008/archive/2006/09/26/72100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>