目前分類:MySQL (3)

瀏覽方式: 標題列表 簡短摘要

明明去年做了一次, 今年又有些陌生了, 還是得記錄下來.

因為要更換虛擬主機, 原本的網站是big5編碼的中文PHP網頁 + MySQL 5.1 latin1編碼的資料表, 新的虛擬主機的MySQL已經不支援latin1, 只得動手轉換。

因為是很簡單的網站, 會動到MySQL資料庫的其實只有一張簡單的線上訂購表。

網路上查MySQL的中文編碼轉換, 會查到一堆訊息, 其中有的還提到要寫程式轉碼, 個人覺得有些麻煩, 還是用土法煉鋼來處理。

※作業環境是Windows 7

作法:

一、MySQL資料庫導出及匯入

1.從原本的MySQL將資料庫(資料表)匯出:用的只是簡單的PhpMyAdmin工具。

2.把匯出的mysql檔案用「記事本」打開(對! 就是記事本就好),看到裡面資料是正常顯示的中文,在最前面加上這兩行:

SET NAMES 'utf8';

Jikky 發表在 痞客邦 留言(1) 人氣()

使用Dreamweaver + PHP + MSQL製作資料網頁的時候,  連線字串得配合MySQL文字編碼修改, 目前測試:

自己單機上使用的:
MySQL伺服器版本: 5.0.45-community-nt-log
MySQL 文字編碼: UTF-8 Unicode (utf8) 
則Dreamweaver的資料庫connections裡頭, 加上這些才能在MySQL中正常儲存中文
mysql_query("SET NAMES utf8;");
mysql_query("SET CHARACTER_SET_CLIENT=utf8;");
mysql_query("SET CHARACTER_SET_RESULTS=utf8;");

Jikky 發表在 痞客邦 留言(0) 人氣()

測試了一下 MySQL的 TIMESTAMP資料型態。

MySQL的資料型態有一種叫"TIMESTAMP", 每個資料表可以設定一個 "TIMESTAMP" 的欄位, 並把該欄位屬性設定為"ON UPDATE CURRENT_TIMESTAMP", 那麼那個資料表在新增或更新的時候, MySQL都會自動更新該欄位。

測試環境: MySQL 5.0.45-community-nt-log
引擎: InnoDB
欄位型態: TIMESTAMP
屬性: ON UPDATE CURRENT_TIMESTAMP

說明: 新增或更新資料表資料時, 該筆資料的這個 TIMESTAMP 欄位就會自動更新, 不需要在網站伺服器端的程式(如PHP)撰寫相關程式碼, 即使是在phpMyAdmin裡頭更新MySQL的該資料表也一樣會自動更新該 TIMESTAMP  欄位。

Jikky 發表在 痞客邦 留言(0) 人氣()