用phpmyadmin添加mysql数据库,然后用php操作数据库出现乱码的解决办法:
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了硚口免费建站欢迎大家使用!
1:确认phpmyadmin用的mysql字符集为utf-8
unicode(utf8);mysql连接校对为utf8_general_ci,language为中文-chinese
simplified
2:确认每个数据表的“整理为”utf8_general_ci;
3:在php连接mysql数据库后加个语句来指定数据库的字符集,
例如:$conn=mysql_connect("localhost","root","你的密码");
//连接数据库
mysql_query("set
name
'utf8'");
access的中文版默认是GBK格式的,是无法改变字符类型的,所以用php读取的时候会乱码。
解决方法是:使用iconv转换
一、使用 iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:
function enc($c){return iconv('gbk','utf-8',$c);}
二、为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了转码函数,接下就是正常使用了。在从数据库里面调数据显示在页面的时候使用enc()函数,从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了。
php数据库中文乱码的解决办法:1、创建数据库时,规定字符类型为uft8;2、创建表时,规定字符类型为utf8;3、在PHP的MySQL连接函数中,添加语句“mysql_query("set names 'utf8'")。
确保三码合一就可以了..
第一个是数据库的字符集
第二个就是存进去的时候字符集
第三个就是显示的时候的字符集
这三个都有可能造成乱码;
第一个 举例是:如果你插入的时候用的是GB2312 ,但你表中的default charset是utf8 那么,就有可能乱码了.
第二种情况就是你插入正确 但你查询的时候以UTF8查询出来,但你在HTML页面里设置编码如果非UTF8那么也有可能造成乱码.
乱码一直是困扰PHP初学者的一个非常大的问题,现在总结下造成乱码的原因及解决方法:
一、HTML页面编码:meta http-equiv=content-type content=text/html; charset=utf-8 这里的编码要和数据库编码,及连接数据库编码;
二、文件在存储编码:比如文件inde.php,改变其存储编码为所需编码。只需用EditPlus等文本编辑软件 文件另存为,在编码中选择正确的编码(这点很多人都会忽略);
三、数据库编码:比如用的是phpmyadmin 选择数据库后,选择操作选项。下面有一个整理,这里面也要设置成统一的编码;
四、表编码:操作和第三点类似。这里就不重复了;
五、字段编码:在建表的建字段的时候,有个整理。如果内容有汉字,就一定要改成统一的编码;
六、连接数据库时mysql_select_db()后面,要加一句 mysql_query( set names utf8 );
七、 (刚遇到的)本地测试成功后的网站,传到网上去,会有乱码。可能会是在本地导出数据时没有选择正确的编码,所以才会在导入到web上后有乱码问题。