MySQL中UTF-8和UTF8
视觉·编程 十二月 21st, 2008来源:feel’s Blog
昨天和朋友遇见一个很奇怪的问题,MYSQL连接的时候编码总是不对,先说页面和数据库全是UTF-8的根式.那应该没什么问题啊.最后检查了检查了数据库类.连接的时候SET编码是GB2312.于是我”骂”了我朋友….哈哈!我叫他改成UTF-8.也许看到这里.你们也会骂我.这么基础的东西大家都晓得啊.没什么好说的.可是改成了UTF-8还是不对啊????请继续往下看…..
如果是GB2312,那么输出全是乱码.而改成UTF-8的话..不是乱码.却全部变成了”?”号.其实乱码和?是有区别的哦.那究竟问题出在那里了?还是编码问题.于是把UTF-8改成UTF8,这样就对了.什么原因??UTF-8和UTF8 不是一回事?
mysql_query( “set names gb2312 “); // 如果mysql存的是utf8,就会自动转换成gb2312.
mysql_query( “set names utf-8″); // 这个执行是不成功的.因为MYSQL中定义的UTF8.
mysql_query( “set names utf8″); // 这样就对了.其实没什么区别,只是必须这么写而已.

十二月 21st, 2008 at 23:33
确切来说,这里还是没说清楚为什么用UTF8,我自己怀疑是MySQL不用减号的缘故吧。