Re: [問題] 有關存取mySQL中 text型態欄位的問題...
※ 引述《tomex (tomex_ou)》之銘言:
: 我想那是database provider的問題,才會那麼難用!
: 我都用bytefx-data-mysql來連接mysql,
: 使用方式都如直覺般不會有問題。
: 假如真是如此,你就能體會吃錯奶粉,真是長不大浪費好多時間!:)
結果發現問題點好像意外的單純......欄位的字元編碼設定OTL
原本是設為utf8_bin,
因為另一頭用php頁面讀取欄位的時候輸出都很正常, 所以沒發覺到這基本的問題OTL
後來改成 utf8_unicode_ci 或 big5_chinese_ci
在取出資料前先執行"SET CHARACTER SET Big5", 這樣一切就正常了
無論是ByteFX還是ADO.NET的ToString()還是GetString()都能正確輸出中文了
結果是自己在耍蠢....|||
不過型態是varchar的欄位就算設成utf8_bin, 在讀取的時候也都沒問題呢...
這又是個令人不解的地方了:|
另外
雖然可能大家都知道這方法, 不過還是提供一下XP
如果欄位一定要設為utf8_bin,
可以先用GetBytes()取得欄位值的byte陣列,
再交給System.Text.Encoding內的方法來轉碼成字串
這樣也可以正確的輸出中文字串
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.219.21
※ 編輯: crossxxxx 來自: 59.113.219.21 (07/09 21:35)
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章