作者crossxxxx (齁?)
看板C_Sharp
标题Re: [问题] 有关存取mySQL中 text型态栏位的问题...
时间Sat Jul 9 21:29:50 2005
※ 引述《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)