[求救]MySQL 語系設定問題 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ ADSL_CABLE_FTTH 寬 頻 上 網 討 論 > -- 網站架設 / 免費空間 / 虛擬主機 專區 > ☉ -- 架 站 DIY 討 論 版


PCZONE 討論區



通知

☉ -- 架 站 DIY 討 論 版 有了寬頻後,可利用來架設 WWW / FTP / MAIL 等各種 SERVER,請在此版跟大家一起討論各種 SERVER 架設心得。

頑劣會員
[求救]MySQL 語系設定問題
1.在網路上找到眼花,仍搞不懂該怎麼設定

character_set_client latin1 ← 為何
character_set_connection latin1 ← WHY?
character_set_database big5
character_set_filesystem binary
character_set_results latin1 ← I can't believe it ...
character_set_server utf8
character_set_system utf8
character_sets_dir C:\AppServ\MySQL\share\charsets\

導致每次 php 存取資料庫都需要 set names big5

2.更神奇的是,如果用 set names utf8 反而會完全沒有資料

稍微動一下 my.ini 也是搞不懂,也沒有達成什麼效果
基於亂改會死機的前提下,還是上來請教各位達人的專業 m(_._)m

上傳的圖檔
檔案類型: png _1237734001900.png (4.9 KB, 5 次觀看)
回覆
會員
回覆: [求救]MySQL 語系設定問題
基本上
要用MySQL
在減少自己麻煩情況下
請拜倒在latin1下
那些my.ini or my.cnf(linux下)裡的character_set請全部拿掉
資料庫建立時也請不要刻意選擇編碼,建起來一樣會是latin1
但是


你丟BIG5 or UTF8資料進去不會有問題
也不用每次都要set name
直接寫,直接讀,萬事都OK
不過
千萬不要看到phpMyAdmin一片亂碼就昏頭
因為phpMyAdmin的基準為UTF8...
回覆
頑劣會員
回覆: [求救]MySQL 語系設定問題
作業系統是 xp,採包好的 Appserv,所以沒有 cnf 的 ^^
到目前我仍沒有改過任何設定(包含 phpmyadmin / mysql 的 ini inf ... 之類的)

my.ini 裡面沒有任何 character_set

以預設環境
在 phpMyAdmin 建資料庫,資料表,新增資料,都一切順利
在 透過 php 將資料取出時
1.未設定 set names big5
結果會是
引用:
Resource id #5
日期 名稱 批號 數量
2.若設定 set names big5
引用:
Resource id #5
日期 名稱 批號 數量
2009-03-19 長 00050 10
2009-03-20 長 00051 10
2009-03-21 長 00051 5
2009-03-22 短 00052 30
3.若 set names utf8
引用:
Resource id #5
日期 名稱 批號 數量
透過網頁看到的
引用:
character_set_client latin1
character_set_connection latin1
character_set_database big5 ← 這個應該是在 phpMyAdmin 設定吧?(昨天有動過
character_set_filesystem binary
character_set_results latin1
character_set_server utf8
character_set_system utf8
而透過 cmd mysql 看到的是…
上傳的圖檔
檔案類型: png cmd_character.PNG (7.2 KB, 95 次觀看)
回覆
會員
回覆: [求救]MySQL 語系設定問題
appserv內定是UTF8...
所以你還是要自己去改回來

Trust me
latin1的石柳裙比較好拜
回覆
會員
回覆: [求救]MySQL 語系設定問題
你的 MySQL 是幾版
如果是5.x, 建議不要用 Latin1, 現在減少麻煩, 以後可能有麻煩
回覆
會員
回覆: [求救]MySQL 語系設定問題
可以在 my.ini加入這行..

default-character-set=utf8

這樣子在創建新的資料庫之後,連線校對都是utf8_general_ci
資料庫沒有設定 CHARSET 資料表,校對都會用 utf8_general_ci

舊資料在通信上可以考慮先匯出後..
創新資料庫再匯入,MySQL連線校對就會改變為utf8..
雖然下指令改會比較快,對指令不熟的也可以透過phpmyadmin來設定會比較簡單.

匯出的資料若無亂碼,再匯回去的時候可以編輯 sql檔案,
找標籤 CHARSET=Latin1 修改為 CHARSET=utf8.

以上比較土法煉鋼,不保證會不會正常,您可以開個新資料庫測試看看...
回覆
頑劣會員
回覆: [求救]MySQL 語系設定問題
舊資料庫沒去動它,現在是搞不定新的 6.x mysql

有個疑問
用 cmd 登入 mysql 看 charsets 與透過網頁看的結果是不一樣的

【CMD】
character_set_client big5
character_set_connection big5
character_set_results big5
【WEB】
character_set_client latin1
character_set_connection latin1
character_set_results latin1

================
我直接打開該頁
若是透過按鈕,將該頁的結果丟進 div.innerHTML

第一張圖是有寫入預設語言 big5,若切換為 UTF8 檢視,將得第二張圖的結果
第二張圖也是有設預設語言 big5,但取得資料是用 UTF8 顯示

以上都是有使用 set names big5
上傳的圖檔
檔案類型: png 獨自.png (2.4 KB, 54 次觀看)
檔案類型: png 透過2.png (4.6 KB, 53 次觀看)
回覆
會員
回覆: [求救]MySQL 語系設定問題
網頁和 CMD 去看的是相同的資料庫嗎 ?

回覆
頑劣會員
回覆: [求救]MySQL 語系設定問題
>網頁和 CMD 去看的是相同的資料庫嗎 ?
是的

由 CMD 取得資料,是正常可讀的

瀏覽器不管用 IE or Firefox 都是一樣的結果,所以目前只繼續用 FF 測試
回覆
會員
回覆: [求救]MySQL 語系設定問題
引用:
作者: windata 觀看文章
有個疑問
用 cmd 登入 mysql 看 charsets 與透過網頁看的結果是不一樣的

【CMD】
character_set_client big5
character_set_connection big5
character_set_results big5
【WEB】
character_set_client latin1
character_set_connection latin1
character_set_results latin1
改完後,MySQL有沒有重新啟動(Restart)?

回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
請問使用yum 安裝apache2, php, mysql, php-mysql 的問題. cpthk -- FreeBSD & Linux 討 論 版 3 2005-09-23 12:29 AM
明明就有寫到資料庫(mysql) 但是資料庫(mysql)裡面就是沒資料 怎麼辦呢...?? Ezond ☉ -- 架 站 DIY 討 論 版 4 2005-02-22 05:03 PM
我喜歡我班上的女生 求救~求救 ceneed -- 閒 話 家 常 灌 水 版 49 2001-10-28 12:33 PM
求救!! 求救!! 中區第一批掛了642r-51 jps000 ---- ADSL 軟 硬 體 技 術 4 2001-06-03 03:44 PM
求救!! 求救!! 中區第二批掛了642r-51 aaronlai ---- ADSL 軟 硬 體 技 術 8 2001-05-06 02:59 PM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。