<?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>Technical LeoLo &#187; UTF8</title>
	<atom:link href="http://blog.leolo.cc/labels/utf8/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.leolo.cc</link>
	<description>My Learning note</description>
	<lastBuildDate>Thu, 12 Mar 2009 08:58:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MySQL升級5.0與UTF-8之相關解決方法</title>
		<link>http://blog.leolo.cc/2006/02/06/5/</link>
		<comments>http://blog.leolo.cc/2006/02/06/5/#comments</comments>
		<pubDate>Sun, 05 Feb 2006 22:26:00 +0000</pubDate>
		<dc:creator>leolo</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[UTF8]]></category>

		<guid isPermaLink="false">http://leolo.wordpress.com/2006/02/06/mysql%e5%8d%87%e7%b4%9a50%e8%88%87utf-8%e4%b9%8b%e7%9b%b8%e9%97%9c%e8%a7%a3%e6%b1%ba%e6%96%b9%e6%b3%95/</guid>
		<description><![CDATA[從MySQL4.0升級至5.0。
首先把資料dump出來 。由於先前用4.0時我的資料是存成latin1，不管是Big5或是wordpress的UTF-8存進去後都是變成lantin1，所以dump出來後要用iconf或piconf把他轉成UTF-8，記得dump出來時要加上&#8211;default-character-set=latin1
如果原先是Big5的資料，像我的Coppermine Photo Gallery，dump出來後就直接把Big5轉成UTF-8即可

#mysqldump -u帳號 -p &#8211;default-character-set=latin1 資料庫 &#62;output.sql
#piconv -f big5 -t utf8 output.sql &#62;utf8.sql

如果原先是UTF-8的資料，像是wordpress，dump出來後要先轉成Big5後，再把他轉成UTF-8，因為原先dump出來的是偽裝成UTF-8的lantin1不是真正的UTF-8

#mysqldump -u帳號 -p &#8211;default-character-set=latin1 資料庫 &#62;output.sql
#piconv -f utf8 -t big5 output.sql &#62; big5.sql
#piconv -f big5 -t utf8 big5.sql &#62;utf8.sql

接著MySQL5.0灌好後，MySQL的my.cnf設定檔內要加入以下設定

[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8

但也有看到資料說[mysqld]那邊加上 default-character-set=utf8跟 default-collation=utf8_general_ci後，一些舊的使用Big5編碼的php程式，又沒有加入連資料庫時指定的編碼方式的 相關code的話，那些程式就會爛掉，所以目前我是沒有加上那兩行。接著建立空的資料庫準備把dump出來的資料import進去，SQL語法應該類似下面這樣，要加上DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

CREATE DATABASE `abc` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;

再來就是把剛剛dump出來後的sql檔在import進去了，這裡有兩點要注意的。

 剛剛dump出來的sql檔如果原先是Big5里面會有一些像是許功蓋這些字後面會多了一個』"，記得用文字編輯器把他消掉
import進去時記得還要先修改一下dump出來的sql檔，在最前面加上


SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;

再來把每個資料表後面的
TYPE=MyISAM;
改成
ENGINE=MyISAM [...]]]></description>
		<wfw:commentRss>http://blog.leolo.cc/2006/02/06/5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
