/ 中存储网

如何解决使用ASP+MySQL时utf-8编码出现乱码的问题

2014-08-20 12:57:02 来源:中存储网

最近碰到了ASP+MySQL时utf-8编码出现乱码的问题,我的做法如下:
所有的ASP都要有
并且另存为UTF-8格式
FSO并不支持直接生成UTF-8,得用下面的程序
于是ASP和文件操作都很顺利,但是在连接MYSQL时候,还是遇到了难题,以下代码:
strConn=“Driver={MySQL ODBC 3.51 Driver};Server=localhost;CharSet=utf8;
Port=3312;Option=0;Socket=;Stmt=;Database=aa;Uid=root;Pwd=admin;“
Set Conn = Server.CreateObject(“ADODB.Connection“)
Conn.Open strConn
Conn.Execute “SET NAMES ’utf8′;“
本来觉得OK了,但是,在ASP中读记录时候,中文居然都是乱码!
开始觉得没有什么了不起的,在用JAVA的时候中文问题就有很多经验了,于是GOOGLE。
FUCK!居然一天都没有进展!所有能够找到的ASP+MYSQL的例子,居然都不能支持中文。
看来问题不那么简单啊,翻了一天的网页,终于发现一个台湾人的帖子,他遇到了同样的问题,解决方案居然是在中文插入前使用Server.HTMLEncode,这样保存到MYSQL的中文都是编码后的字符串,很奇怪,这样的编码ASP竟然可以正常显示为中文!
看来要怀疑一下MYSQL的UTF8和ASP的UTF-8根本不是一回事!
这样的解决方案我很怀疑以后会有什么不测的问题,于是决定改为ASP+ACCESS。
写在最后:后来本站通过DRIVER={MySQL Connector/ODBC v5}解决乱码问题!看来还是要相信最新版本!