新闻中心

无忧主机解决php网页中文显示乱码问号( ? ? ? )的一些意见

作者 / 无忧主机 时间 2011-06-04 06:28:55

无忧主机(www.51php.com)这几天通宵达旦,折腾解决一个网站显示乱码的问题,虽然很辛苦,但总有所获,问题终于搞定,对网页中文显示乱码又有了新的认识。特此写文记录,一是为了庆祝,二是为了备忘分享。勤做笔记,是好学生,囧囧!! 一、网站乱码的分类? 这是我自己折腾几日总结出来的,是否经得起推敲,时间将会告诉我。网站乱码我把它分为两类,一是由于mysql数据库导致乱码问题,二是由于网页编码的问题所致。下面我将关于这两个问题展示讨论。   二、为什么会出现乱码? 出现网页乱码的原因,都是由于编码不一致导致的。这是由于我们在网站开发、网站迁移、修改、升级等网站运行环境发生变化时,由于其编码不统一导致网页乱码问题发生。如我们通常使用的编码有utf9和gb2312,网站发生乱码问题,必然就是编码统一引起,我们要解决问题,就必须要从数据库编码、html网页(输出到IE浏览器的页面)、数据库配置文件(定义中文字符的存储编码)几个方面着手,将其统一编码,其问题就可以解决。   为了让大家明白一个意思,我要特意解释一下html网页的概念,html网页我这里定义的是所有输出到IE浏览器的页面我都称之为html网页,包括动态页面和静态页面。   三、我在解决网页中文显示乱码的思路。 我要处理的网站发生乱码的情况是这样的,html网页文件中的中文显示正常,但是部分于mysql发生关系的内容就显示为?????。得出这句总结,我发了一个通宵时候(基础差,费的时间比较长囧!!)。   其必然,就是要从mysql数据库编码入手。关于mysql编码问题,我这里不多深究了,关于mysql编码的问题网上很多教程,多的你数不过来,但是无忧主机(www.51php.com)小编,想提醒几个特别要注意的问题: 1、  数据库安装的时候默认的编码是什么? 2、  网站程序使用的mysql数据库编码是什么? 3、  你的网站html页面使用的编码是什么? 4、  你的mysql数据库连接文件里面是否指定了中文字符的存储编码?   那么,我处理的这个网站的乱码问题,用户就犯了其中第一和第四个错误,导致由于数据库编码于网页编码不一致导致引起乱码。解决问题就是将mysql数据编码统一,问题就解决了。   最后的经验总结: 出现网站中文显示乱码问题,在php虚拟主机用户网站中这是多发和常见问题,不要慌张。无论是自己用php程序自建网站还是使用php开源程序建站。一旦出现乱码问题,千万别被乱码吓到,凡事有因必有果。编码不统一这是因,出现中文字符显示乱码这是果,这是一个因果循环关系,我们只需要冷静对待,你只要发点时间去找找,将编码统一即可解决问题。欢迎无忧主机用户与我一起交流解决网站乱码问题的经验,互相提高学习(Mail:340555017@qq.com)。   美国/香港 纯Linux环境下高端免备案php空间,仅仅只需99元一年起。商务中国域名核心代理直销50元注册国际顶级域名。  

本文地址:https://www.51php.com/others/2604.html