作者 主題: 關於 MySQL UTF8 欄位內容,區分大小寫問題編碼  (閱讀 6889 次)

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

bruce_wu

  • 憂鬱的高中生
  • ***
  • 文章數: 91
    • 檢視個人資料
關於 MySQL UTF8 欄位內容,區分大小寫問題編碼

從 phpmyadmin 內的 文字編碼及校對 資料去看 ,以下這兩個為例

utf8_general_ci 統一碼 (Unicode) (多語言), 大小寫不相符
utf8_unicode_ci 統一碼 (Unicode) (多語言), 大小寫不相符

結果使用搜尋測試後發現,這兩個根本就是大小寫不分,大小都是同樣的

怎麼會這樣子呢?

請問這是 phpmyadmin 寫錯了,還是 MySQL 的 BUG 呢?

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
關於 MySQL UTF8 欄位內容,區分大小寫問題編碼
« 回覆 #1 於: 2007-03-15 17:56 »
對該欄位用 utf8_bin .. 或 select xxxx from binary xxxxx = xxxxx

關於英文字母大小寫的的處理請參考..
http://dev.mysql.com/doc/refman/5.1/en/charset.html
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

bruce_wu

  • 憂鬱的高中生
  • ***
  • 文章數: 91
    • 檢視個人資料
關於 MySQL UTF8 欄位內容,區分大小寫問題編碼
« 回覆 #2 於: 2007-03-16 08:39 »
感謝回覆!

使用  utf8_bin 這是一定OK的,因為他是2進碼存檔的,比對也是針對2進碼比對

但小弟在想在 phpMyADmin 上面寫著
utf8_general_ci 統一碼 (Unicode) (多語言), 大小寫不相符
utf8_unicode_ci 統一碼 (Unicode) (多語言), 大小寫不相符

他所謂的 大小寫不相符 的意識 跟我們所認知的不相符是不同的

中文字的 "不相符" 意謂著完全不同的意識

但所以這樣寫會誤導,或者是想地現在才搞清楚

資料庫內要比對完全相同與否(大小寫區隔的部分),就是針對 xxx_bin 的欄位才可以..

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5392
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
關於 MySQL UTF8 欄位內容,區分大小寫問題編碼
« 回覆 #3 於: 2007-03-16 08:59 »
phpmyadmin 是官方文件或官方程式嗎?
上頭寫的就一定是對的嗎?

有問題, 應該是去官方網站找文件看吧.