重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
估计你数据库中的那个中文用户名读出来就是乱码,所以比对起来就是不一样的.要设置数据库默认字符集.
创新互联建站长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为立山企业提供专业的做网站、成都做网站,立山网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
if ($db-server_info()'5.0.1')
{
$db-query("set names gbk2312");或者是GBK
}
把IF去掉
补充:
输出之后,你试试IE切换编码,看哪种编码能显示中文,你再把数据库编码以及页面编码调整统一。
php页面是utf八的编码,然后命令发给数据库的时候转换下编码,例子见图
用php调用存储过程,就可以了。
存储过程不会的话,先将查询的结果集保存为数组,在foreach遍历数组对要修改的字段进行编辑,在执行update。
确保三码合一就可以了..
第一个是数据库的字符集
第二个就是存进去的时候字符集
第三个就是显示的时候的字符集
这三个都有可能造成乱码;
第一个 举例是:如果你插入的时候用的是GB2312 ,但你表中的default charset是utf8 那么,就有可能乱码了.
第二种情况就是你插入正确 但你查询的时候以UTF8查询出来,但你在HTML页面里设置编码如果非UTF8那么也有可能造成乱码.