PHP开发中的乱码问题

1、解决页面中的乱码问题

两种方法:

(1) 使用meta标签设置页面编码

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

meta标签的作用是声明客户端的浏览器用什么字符集编码显示该页面,其中charset可以设置为GB2312、GBK、UTF-8等。大部分的页面都是通过这种方式来告诉浏览器显示这个页面时采用什么编码。

(2)通过header()函数设置页面的编码格式

header("content-type:text/html; charset=utf-8");

header()函数的作用是把括号内的信息发送到http标头。通过header()函数设置charset的值来指定页面的编码格式,其作用与meta标签是相同的。但不同之处是,如果同时使用header()函数和meta标签来设置页面的编码格式,浏览器会采用header()函数指定的编码格式,而不会使用meta标签设置的编码格式,这就是header()函数的特殊之处。header()函数多数应用在纯PHP的文件中,通过它来设置文件的编码格式。

2、数据库中的字符集编码问题

通过PHP操作数据库中的数据时,如果网页中使用的是UTF-8编码,那么就可以在连接数据库的文件中执行mysql_query("SET NAMESUTF8")这个语句,指定数据库的编码为UTF8,这样在读取出的中文数据就不会出现乱码的问题。也就是说,保证页面编码格式与数据库中输出数据的编码格式一致就不会出现乱码的问题。同样在向数据库中添加数据时,也要保证编码格式的统一。

3、避免截取中文字符串时出现乱码

推荐mb_substr()函数,通过它对中文字符串进行截取,就可以避免在截取中文字符串时出现乱码。

string mb_substr(string str, int start [, int length [, string encoding]])

//start: 指定截取的开始位置,从0开始计算。

//length: 截取字符串的长度。

//encoding: 设置返回字符串的编码格式

mb_substr()函数截取字符串时,一个英文字符串即为一个字节,而一个中文汉字同样也定义为一个字节。

mb_strlen获取字符串的长度

mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )

返回具有 encoding 编码的字符串 str 包含的字符数。 多字节的字符被计为 1。

如果给定的 encoding 无效则返回 FALSE


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值