2006-10-14

我的Vim

前面是預設的設定檔
後面我參考別人的設定方法,再加上一點點自己想要的功能

2006-10-10

轉碼的感動

Mysql自從推出4.1版之後,網路上常常聽的到轉換的慘叫聲。因為有先見之明,所以我先行把資料庫備份起來,再開始所謂的轉碼的大工程(謎之聲:俗話說,有備無患!好句好句)。

從Google(註1)上查到的資料顯示,不管是用phpMyadmin或是使用apples所寫的資料庫轉換程式,得到的結果都是亂碼(註2)。因為我不信邪,所以以上兩種方法我都試過請不要再試了。正確的方法是使用mysql的程式mysqldump,然後把dump出來的資料做簡單的編輯,再丟回資料庫即可。


  1. 找到mysqldump程式的位置並且執行:
    mysqldump database > database.sql --default-character-set=latin1 -u abc -p

    • -u 設定要使用的帳號

    • abc 使用帳號名稱,通常是使用root或是有權限的帳號

    • -p 要輸入密碼

    • database 要輸出的資料庫名稱

    • database.sql 輸出的資料庫存方檔案

    • --default-character-set=latin1 設定讀出的編碼(根據自己的mysql編碼而設)


  2. 把datapase.sql這個檔案用Emeditor來編輯,把裡面的latin1全部用utf8換過。然後再另存新檔,並且記得用UTF-8來存(建議不要用本來的檔名,另設一個database_utf8.sql更好)。

  3. 把剛剛處理過的database_utf8.sql再傳回Mysql
    mysql database < database_utf8.sql --default-character-set=utf8 -u abc -p

    • 可以在傳入前把mysql的編碼換成utf-8,或是把mysql升級





運氣好的話照著以上的步驟若沒有出現錯誤的話,轉碼就成功了!但是,我在處理Mediawiki的資料庫的時候遇到了這樣的問題…
Specified key was too long; max key length is 1000 bytes
我試著改結構表, 但是不可行錯誤依舊存在。後來我才在這篇文章發現,原來我把Innodb也給丟出來了(囧)。我對著我有問題的那個資料表把ENGINE=MyISAM換成ENGINE=InnoDB, 就可以正常匯入!

然後進到phpMyAdmin裡面看資料庫,是中文!感動的無法言語 :'(

latin1 to utf-8

我是一直卡在編輯資料庫的檔案上,本來是試著用vim加上encoding去更改內容。不管我怎麼試好像都是錯的,可能是vim不能完全支援utf-8吧 :(
我後來我才發現,編輯檔案的工作交給Emeditor就可以了,畢竟這個是日本人所寫的程式阿。

註1. 我使用的關鍵字為「mysql utf8」或「mysql utf-8」

註2. 我連接進mysql的時候是使用utf-8,phpMyAdmin裡面顯示的校正也是utf-8,只有在系統編碼的地方才是latin1。


相關網頁:

2006-10-08

用Google找程式碼

Google Code Search

用Google來找範例程式已經不是什麼新奇的想法,現在Google把這個方法給實踐了。只要在這個網站上打入自己想要找的類別名稱就可以找到一大堆別人所寫過的程式碼。而且允使用正規式表示法,用來更準確的找到自己想要找的資料。

不過我總覺得使用這個的時機,應該是修某程式語言課時上網搜尋的最佳去處。
(謎之聲:那你也要能夠上網才行阿Orz)

相關網站:

2006-10-05

Firefox 1.5x完全加速

Firefox(小狐)官方版安裝完成之後,做了一些加速方法(改讀取時間、暫存大小之類的等等),也比不上直接對小狐的核心和記憶體讀取的加速。正確的說應該是,根據自己的電腦使用支援的指令集就會產生加速的效果。雖然說1.5的存在時間已經很久了而且2.0都快要出來了,我還是寫一下這篇記錄一下。

若要把核心換掉(也可以說是完全重新安裝的話),就到pigfood's weblog上下載,和自己電腦相對應的安裝檔。若不知道自己該用那個版本的話,也有人寫了一個小程式,只要執行就會顯示安裝那個版本會比較好。

若只想對記憶體讀取做最佳化的話,就要到tete的網頁上抓相對應的DLL檔。並且下載安裝工具,把這兩個解壓縮之後放在Firefox的安裝目錄下,執行tbind即可。

若要知道自己的電腦支援什麼樣的指令集的話,最好的方法就是去下載CPU-Z。執行過後就可以看到自己的CPU最高支援什麼指令集,再下載相對應的檔案即可。

AMD Athlon 64 X2

在這張圖上就可以很清楚的看到,這個CPU支援的指令集有MMX、3DNow!、SSE、SSE2、SSE3、x86-64。3DNow!是AMD的CPU特有的技術,所以Intel的請不要抓這個版本。

相關網頁:


Reblog this post [with Zemanta]

Google Gadget on Web

剛剛得知Google DesktopGoogle Personal Page上的Gadget現在可以放到網頁上了。只要有Google的帳號,然後在這邊選擇自己喜歡的Gadget之後、設定樣式、再把取得的Code貼上即可!


嗯,之後就來弄一個花俏的頁面吧 XD

相關連接: