十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
没法定义,
为石林等地区用户提供了全套网页设计制作服务,及石林网站建设行业解决方案。主营业务为成都网站设计、网站制作、石林网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
php不会自动转码,或者http协议里也不会按照你的参数设置自动转码
所以,这需要你自己用代码去转换编码
思路:
1.连接网页读取数据.
2.从header头信息里或者网页代码里获取网页的编码方式(字符集,gbk,utf8等)
3.根据需要把数据转换成你要的字符集
4.解析数据
注:
1.抓数据,若使用file(),file_get_contents()等,网页字符集信息,可从html代码里用正则匹配出来
meta
http-equiv="Content-Type"
content="text/html;
charset=gb2312"
/
2.若使用fsockopen()抓数据,
可从http响应头里取的字符集.但响应头里也可能没有字符集信息.最好再结合html头部信息解析下
3.php的正则,建议使用
preg库,
那个功能和性能都更好些
PHP连接ACC是一个比较冷门的数据结构。一般使用php搭配Mysql使用。
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,需要设置页面编码,加一行代码:
header('Content-Type:text/html;charset=utf-8');
这样就把输出编码改为了UTF-8
但是,MySQL也要设置,那就是连接到数据库之后再加一行
mysql_query("SET
NAMES
`UTF-8`");
即可
当然,你得保证你的数据库的字符集是UTF-8
如果仍然出错,那就说明数据库的字符集配置有问题