作者denby (等比)
看板C_Sharp
标题[问题] 从MySQL捞中文,显示为乱码
时间Mon May 20 22:12:29 2013
最近在做个小专题,一开头就碰上这个奇怪的状况Orz
开发环境:VS2008 ASP.NET
资料库:不用说就是MySQL了
//以下补充说明环境
使用wamp server(apache + mySQL + php)快速架设环境
由於apache无法support ASP.NET,故额外挂载了mod_aspdotnet模组
经测试asp控制项的中文显示没有问题
应该是能先排除apache和外挂模组的影响
mySQL的database、table皆是使用phpmyadmin新增并加入资料
在phpmyadmin上检视中文资料一切正常
php的编码已设定为utf8了,使用上和先前皆无太大的差别
另外连接资料库是使用OdbcConnection来连接
比较让我在意的一点是OdbcException发生的时候所接回来的中文会是乱码
键盘小弟写了一个简单的网页
可以让使用者输入帐号密码後印出使用者的姓名和E-Mail
只是不知道为什麽捞出来的姓名永远都是"???"
一开始以为是我网页的设定有问题
尝试过将CodePage改为65001
也试过在Web.Config里加上
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
但姓名仍然是"???"
小弟也怀疑是不是MySQL的编码问题
拜过GOOGLE大神後已经把能改的全改为了"utf8_unicode_ci"
但还是没有用Orz
只好上来求救了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.254.236.132
1F:推 Ansaga:我猜mySql的Charset是latin1 ? 05/21 09:57
2F:推 Ansaga:在连接字串最後加上charset='utf8'试试? 05/21 10:00
3F:→ denby:有从"???"进化成乱码了Q_Q 05/21 21:25
※ 编辑: denby 来自: 114.40.187.51 (05/22 00:26)
4F:推 optimist9266:BIG5试试看 05/22 05:05
5F:→ denby:网页的编码有试过选BIG5 但中文部分仍是乱码 05/22 11:09
6F:推 Ansaga:进化成乱码是好现像啊XD 感觉快解决了 05/22 12:55
7F:→ denby:解决了 但凶手居然是myOdbc的版本问题Orz 05/23 21:59
8F:推 Ansaga:不用mysql Connector吗XD 05/23 22:51
9F:→ denby:myODBC 不就是 mySQL Connecter吗? 05/29 21:43