2011年9月25日 星期日

mysqldump 匯出中文字變亂碼


使用 mysqldump 將資料庫匯出,移轉到另一台主機時,再匯入到資料庫時,發現所有中文字都變成亂碼。請先連到 mysql ,輸入以下指令:

SHOW VARIABLES LIKE 'character\_set\_%';

如果顯示內容如下:
+--------------------------+--------+
| Variable_name            | Value  |
+--------------------------+--------+
| character_set_client     | latin1 |
| character_set_connection | latin1 |
| character_set_database   | latin1 |
| character_set_filesystem | binary |
| character_set_results    | latin1 |
| character_set_server     | latin1 |
| character_set_system     | utf8   |
+--------------------------+--------+

最後一行告訴我們,系統是使用 utf8 編碼,但,其它的幾行其實告訴我們,mysql 是使用 latin1 做為預設編碼。

另外,還可以再執行以下指令:

show create database DBNAME;

顯示內容如果是:

CREATE DATABASE `DBNAME` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */

表示這個資料庫是使用 utf8 編碼。 那,問題就不大了,使用

mysqldump -u DBuser -p DBname --default-character-set=latin1 > DBname.sql

將資料庫匯出,將 sql 檔案移到 新的主機後,先用 vi or gedit 開啟檔案,將裡頭所有的 latin1 取代為 utf8。

接下來就可以匯入sql檔案,應該就正常囉!!





2011年9月24日 星期六

Lenovo T420s 的 Trackpoint


在 T420s 上安裝 ubuntu 11.04 的版本,安裝的幾次經驗裡,依之前的 trackpoint 設定動作調整 speed 和 sensitivity ,有幾次可以正常使用,有幾次就怪怪的,這次又遇到了,重新再找了一下 google 上的資料,發現以下這篇解決問題了。
http://b.crhan.com/2011/05/thinkpad_trackpoint_settings/

先執行
udevadm test /sys/devices/platform/i8042/serio1/serio2 
檢查系統的硬體狀態。 發現和文章裡的環境是相同的。


接著使用 gedit 直接新增以下的檔案
/etc/udev/rules.d/10-trackpoint.rules

內容填入
SUBSYSTEM=="serio", DRIVERS=="psmouse", ENV{SERIO_TYPE}=="05", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="120"

其中的 sensitivity 和 speed 是我自己習慣的數值。

重開機之後,小紅點的移動就很順手了。