Re: [問題] 有關存取mySQL中 text型態欄位的問題...

看板C_Sharp (C#)作者 (齁?)時間20年前 (2005/07/09 20:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《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)
文章代碼(AID): #12pyTaa4 (C_Sharp)
文章代碼(AID): #12pyTaa4 (C_Sharp)