没有配置好环境变量 show varibales;看看
这是mysql某一个版本的问题,在mysql命令行下面set names 'gb2312'可以解决,你可以把他加到操作mysql的类里
这是mysql某一个版本的问题,在mysql命令行下面set names 'gb2312'可以解决,你可以把他加到操作mysql的类里
解决方案 »
- 请教师兄们在dede中调用body字段中的图片,帮忙整合下
- 这个搜索代码存在什么问题。。?在线等~。。
- 问下下拉框的默认状态
- 获取不到post的值
- 使用PHP的mail函数发送中文邮件,客户端乱码,如何解决?
- 菜鸟问:用php做一个简单聊天室,关于在线用户的一段代码
- PHP中这个符号念啥-- $ ?
- 请大家帮忙看看,为什么出错,能上传吗?
- 请高手谈谈你们的看法!图片文件是存放在数据库中好,还是......
- 高分求php+Access的聊天室,bbs,新闻管理的源码!不少于1000分!~
- 想请教N人,关于PHP对64位CPU的支持问题,还性能怎么样!
- 怎么判断一个文件是不是flash???附php代码
客户说在所有版本的mysql都有这个问题。
如果要修改环境变量,安装好的variables配置文件里应该只有一个关于字符集的,应该改它就可以的,如果要把charactor_server等那些都修改要在编译前才能改,必须下载mysql的源码重新便宜,左便宜前用./configure --做配置
字符节选择latin1看看?
首先,你的mysql必须是编译安装的,编译时必须把字符集"gb2312"或"gbk"加进去。
然后,就是设计的表和库,也必须是"gb2312"或"gbk".我那时是用命令来配置表和库成"gb2312"或"gbk"的,可是怎么也不支持中文。我认为我的命令没打错,我是参考mysql自带的说明来执行的。后来,我用phpmyadmin的较高版本,发现里面有将表变成其他字符集,这是才成功的。
也支持了中文的查询。总结:这种错误经常是字符集的问题。
想办法把字符集的问题解决了,就差不多了。提示:我曾经用命令的方式察看表的默认字符集 gb2312,一切正常,可实际那个表的字符集不是gb2312。
也就是命令方式显示的不一定准。
character_set_client
character_set_connection
character_set_results
此外就是数据库中对相应字段设置的charact set,如果没有对字段设置,缺省是table的charact set,table也没有指定则缺省使用database的。上面3个变量的作用是这样的,client表示客户端发送过来的字符集,results表示发送到客户端的字符集(这两个分开是因为发送过来和发送过去的不一定是同一个客户端),connection则在客户端和数据库起一个连接作用。
具体是这样:比如我在mysql命令行设置client为gbk,connection为utf8,results为gbk,数据库为big5,
当我发送一个insert语句的时候,这个语句作为gbk代码,先转为utf8代码(connection),再转为big5(database)插入数据库。
而运行一个select语句的时候,从数据库得到的结果则相反的过程,由big5转为utf8,再转为gbk,你得到gbk的结果。因此最主要的是让client和results和你使用的客户端一致。比如你的网页是utf8编码,你就要设置这两个为utf8。
而在mysql命令行的时候,我用的是2000,需要设置为gbk
而我们用的set names XXX,实际上就是同时设置这3个变量为XXX。在这样的情况下,我们可以把一个数据库中的不同表或不同字段设为不同的字符集,只要上面3个设置正确,就可以在数据库中同时使用不同的字符集。注意要保证你的数据库中的字符已经使用了正确的字符集,比如如果一开始你设置错误,插入数据后,本身数据的编码就是不正确的,然后即使设置改回来,也不可能得到正确的显示了。还有一个是编码互相之间的兼容性,如果一个字符在gbk中有,在utf8中没有,那么在gbk-》utf8-》gbk的过程中,它就变成了“?”