2008年4月29日 星期二

徹底解決phpmyadmin亂碼問題

UTF8的中文編碼是解決中文的最後一張王牌

所以MYSQL跟PHP都以UTF8為主

但就出現一個問題,瀏覽phpmyadmin的時候就會出現亂碼

簡單的說phpmyadmin不管輸出、輸入、匯出、匯入都是以latin1為編碼原則

為什麼要以這個為主,我也不知道,但確實困擾我很久

所以,接下來的步驟總歸一句話就是把所有的latin1都改成UTF8

以windows環境,AppServ套件,是在/windows/my.ini 裡面

把default-character-set=latin1這行

改成default-character-set=UTF8 然後重開

接下來進入每個表單的結構,原本是latin1_swedish_ci修改成utf8_general_ci



再進入上面該資料表的管理界面,要更改資料表的編碼



進入管理



也是一樣把latin1_swedish_ci修改成utf8_general_ci

然後進入資料庫的資料表列表,要改資料庫的編碼



也是進入管理把改成default-character-set=UTF8



這樣一來!也可以用匯入的功能!也不會有亂碼出現囉!

記得匯入的文件也是要編成UTF8

2008年4月21日 星期一

表格中按tab的順序

< input type="text" tabindex="1">



在表格中關閉輸入法

< input type="text" style="ime-mode:disabled">

詭異的沒填 or 0

在PHP中在< input type="text" > 表單中要判斷0 or 沒填

要使用is_numeric($_POST['iii'])

is_numeric是判斷變數是否為數字或數字的字串

2008年4月17日 星期四

連動的下拉式選單

SQL 顯示結果不重複

SELECT DISTINCT A,B FROM dataname

A+B的排列不重複

2008年4月8日 星期二

解決該死的中文擷取亂碼問題

建議PHP版本4.3.0以上

使用mb_substr(字元,開始位置,擷取長度,中文編碼)

例如:
$str = "1236測試測試569dfdfd中文中文"
mb_substr($str,0,20,"big5");

開啟此函示,進入php.ini
找尋;extension=php_mbstring.dll
把前面分號去掉即可