作者 主題: 有關MYSQL編碼 與 PHP 抓取資料表問題  (閱讀 5185 次)

0 會員 與 1 訪客 正在閱讀本文。

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
先說明一下 我的作業系統

FreeBSD 5.4 release

Apache 2.054

MYSQL  4.1.15

--

我遇到的問題是 我用這套系統 Mysql出現一點狀況

MYSQL的編碼方式  是以下

MySQL 文字編碼:  UTF-8 Unicode (utf8)

然後我建立資料表時 比對方式都以utf8_general_ci

然後 我網頁是以 big5製作

所以我在取出資料之前都會先下

SET NAMES big5;
SET CHARACTER_SET_CLIENT=big5;
SET CHARACTER_SET_RESULTS=big5;

這樣 我INSERT資料進去MYSQL的時候沒問題

取出資料到網頁 也是沒問題的

但是我用PHPMYADMIN進去看資料表的時候

中文部分都是亂碼  好奇怪  不知道為什麼會這樣

請問大家有這方面的經驗嗎  

--

還有1個問題  許蓋功 這3個字

進去資料庫之前  就要先以 mysq_escape_string的方式輸入到資料庫

而取出的時候 要取出的時候 要加入stripslashes 函式 這樣才不會有問題吧

歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY

tsuhuei

  • 憂鬱的高中生
  • ***
  • 文章數: 164
    • 檢視個人資料
有關MYSQL編碼 與 PHP 抓取資料表問題
« 回覆 #1 於: 2005-11-25 10:52 »
因為網頁是big5
mysql 是utf-8
存進去的字,應該是big5,你使用phpmyadmin看會亂碼,應該是用utf-8的方式,你可以改選項以big5的顯示。
我比較建議,網頁也用utf-8的方式,這樣比較一致。比較好。
我是只有php的部份使用utf-8
沒有 php的部份使用big-5,因為懶得改。給你參考囉!

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
有關MYSQL編碼 與 PHP 抓取資料表問題
« 回覆 #2 於: 2005-11-25 11:07 »
引述: "tsuhuei"
因為網頁是big5
mysql 是utf-8
存進去的字,應該是big5,你使用phpmyadmin看會亂碼,應該是用utf-8的方式,你可以改選項以big5的顯示。
我比較建議,網頁也用utf-8的方式,這樣比較一致。比較好。
我是只有php的部份使用utf-8
沒有 php的部份使用big-5,因為懶得改。給你參考囉!


我可以問個問題嗎

資料再傳過去資料庫

會以BIG5方式存進去

而不是 UTF8

那我把資料庫都以 utf8來校對  這又是什麼意思 :oops:

歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY

tsuhuei

  • 憂鬱的高中生
  • ***
  • 文章數: 164
    • 檢視個人資料
有關MYSQL編碼 與 PHP 抓取資料表問題
« 回覆 #3 於: 2005-11-25 13:18 »
很抱歉
你的問題,我不是很清楚
據我了解,mysql 是會校對存入的字是否正確沒錯,例如你提的許功蓋三個字,如果沒有處理過的話,因為此三個字的後一碼是"\",存入到mysql 會被檢查出來,而剔除掉,進而造成亂碼。至於使用big5或utf8方式檢查有沒有不同,我就不清楚了。

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
有關MYSQL編碼 與 PHP 抓取資料表問題
« 回覆 #4 於: 2005-11-25 16:18 »
引述: "tsuhuei"
很抱歉
你的問題,我不是很清楚
據我了解,mysql 是會校對存入的字是否正確沒錯,例如你提的許功蓋三個字,如果沒有處理過的話,因為此三個字的後一碼是"\",存入到mysql 會被檢查出來,而剔除掉,進而造成亂碼。至於使用big5或utf8方式檢查有沒有不同,我就不清楚了。


像我如果下面2個狀況

許蓋功

網頁 跟 MYSQL都是 UTF8編碼

如果我輸入 許蓋功這3個字  我去資料庫看 就是許蓋功

網頁 BIG5  MYSQL UTF8

如果我輸入許蓋功  去資料庫看 則是 許\蓋\功\

所以我不知道 MYSQL 用UTF8去校對 跟用 BIG5去校對

2個有什麼差別

我在輸入 資料庫之前 會先用mysql_escape_string處理

歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY