Skip to content


一点关于MySQL4.1的编码经验

村子Jeanx
http://www.phpx.com/happy/top95999.html

乱码问题:
在MySQL4.1的安装过程中有缺省character的设置在下图中有显示

如果您所在的服务器有没有选择缺省为GB则会使用UFT8就会出现乱码

或者

只要在你连到数据库后,先执行这句
mysql_query(“Set Names ‘uft8′”);
其中 uft8 可改成你需要的编码,e.g. gb2312 等
这个命令也可以用于 mysql 得命令行,从而可以显示正确的文字

连接数据库出现
——————————————————————————————-
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
——————————————————————————————-
由于MySQL 4.1版本开始密码的hash算法改变,所以连接数据库
时可能会出现Client does not support authentication protocol问题。

可以通过一下两种方法解决
其一:
mysql> SET PASSWORD FOR
-> ‘some_user’@’some_host’ = OLD_PASSWORD(‘newpwd’);

其二:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD(‘newpwd’)
-> WHERE Host = ‘some_host’ AND User = ‘some_user’;
mysql> FLUSH PRIVILEGES;

Posted in Mysql, 技术.


2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. 孙懒惰 says

    你这里的mysql_query(“set names ‘gb2312′”);方法怎么用? Connection con=new Conn().getConn();
    mysql_query(“set names ‘gb2312′”);
    这样就出错了,因为这个mysql_query(“set names ‘gb2312′”);方法不认识。请您给我回答一下,感激不禁。
    QQ:118180816

  2. C1G says

    你用的是asp吧!
    这里的mysql_query是php的函数,
    你只要在asp里query “set names ‘gb2312′”就行。



Some HTML is OK

or, reply to this post via trackback.