<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>小熊 &#187; Oracle</title>
	<atom:link href="http://ringtail.xmulib.org/category/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://ringtail.xmulib.org</link>
	<description>爱睡懒觉的小熊</description>
	<lastBuildDate>Sun, 04 Jul 2010 03:00:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>字符串编码转换小结2</title>
		<link>http://ringtail.xmulib.org/2008/05/07/%e5%ad%97%e7%ac%a6%e4%b8%b2%e7%bc%96%e7%a0%81%e8%bd%ac%e6%8d%a2%e5%b0%8f%e7%bb%932/</link>
		<comments>http://ringtail.xmulib.org/2008/05/07/%e5%ad%97%e7%ac%a6%e4%b8%b2%e7%bc%96%e7%a0%81%e8%bd%ac%e6%8d%a2%e5%b0%8f%e7%bb%932/#comments</comments>
		<pubDate>Wed, 07 May 2008 03:16:55 +0000</pubDate>
		<dc:creator>ringtail</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[other]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[字符编码]]></category>

		<guid isPermaLink="false">http://ringtail.xmulib.org/2008/05/07/%e5%ad%97%e7%ac%a6%e4%b8%b2%e7%bc%96%e7%a0%81%e8%bd%ac%e6%8d%a2%e5%b0%8f%e7%bb%932/</guid>
		<description><![CDATA[&#160;今天早上，网页忽然正常显示了，原来是修改了注册表的原因。&#160;在数据库迁移后(sql server :gbk2312 到 Oracle : UTF8)，可能出现页面字符乱码的原因：
1.oracle字符集设置不正确。
数据库服务器字符集select * from nls_database_parameters，其来源于props$，是表示数据库的字符集。客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter，表示客户端的字符集的设置。可能是参数文件，环境变量或者是注册表会话字符集环境select * from nls_session_parameters，其来源于v$nls_parameters，表示会话自己的设置，可能是会话的环境变量或者是alter session完成，如果会话没有特殊的设置，将与nls_instance_parameters一致。

客户端的字符集要求与服务器一致，才能正确显示数据库的非Ascii字符。如果多个设置存在的时候，alter session&#62;环境变量&#62;注册表&#62;参数文件字符集要求一致，但是语言设置却可以不同，语言设置建议用英文。如字符集是zhs16gbk，则nls_lang可以是American_America.zhs16gbk；如果字符集是utf8，则要改成SIMPLIFIED CHINESE_CHINA.AL32UTF8。(即hkey_local_machine =&#62; software =&#62; oracle =&#62;NLS_LANG改为SIMPLIFIED CHINESE_CHINA.AL32UTF8)
2.迁移过程中字符编码转换不正确，如何转换编码可参照总结1。在php中，可以使用mb_string 的mb_detect_encoding来检测字符串是什么编码。
3.脚本代码要另存为utf8格式。
4.页面的header 要设置为utf8。
&#160;
]]></description>
			<content:encoded><![CDATA[<p>&nbsp;今天早上，网页忽然正常显示了，原来是修改了注册表的原因。<br />&nbsp;在数据库迁移后(sql server :gbk2312 到 Oracle : UTF8)，可能出现页面字符乱码的原因：</p>
<p>1.oracle字符集设置不正确。</p>
<pre>数据库服务器字符集select * from nls_database_parameters，其来源于props$，是表示数据库的字符集。客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter，表示客户端的字符集的设置。可能是参数文件，环境变量或者是注册表会话字符集环境select * from nls_session_parameters，其来源于v$nls_parameters，表示会话自己的设置，可能是会话的环境变量或者是alter session完成，如果会话没有特殊的设置，将与nls_instance_parameters一致。

客户端的字符集要求与服务器一致，才能正确显示数据库的非Ascii字符。如果多个设置存在的时候，alter session&gt;环境变量&gt;注册表&gt;参数文件字符集要求一致，但是语言设置却可以不同，语言设置建议用英文。如字符集是zhs16gbk，则nls_lang可以是American_America.zhs16gbk；如果字符集是utf8，则要改成SIMPLIFIED CHINESE_CHINA.AL32UTF8。(即hkey_local_machine =&gt; software =&gt; oracle =&gt;NLS_LANG改为SIMPLIFIED CHINESE_CHINA.AL32UTF8)</pre>
<p>2.迁移过程中字符编码转换不正确，如何转换编码可参照总结1。<br />在php中，可以使用mb_string 的mb_detect_encoding来检测字符串是什么编码。</p>
<p>3.脚本代码要另存为utf8格式。</p>
<p>4.页面的header 要设置为utf8。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ringtail.xmulib.org/2008/05/07/%e5%ad%97%e7%ac%a6%e4%b8%b2%e7%bc%96%e7%a0%81%e8%bd%ac%e6%8d%a2%e5%b0%8f%e7%bb%932/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
