导航:首页 > 编程语言 > php中文乱码解决

php中文乱码解决

发布时间:2024-12-16 05:38:38

① 如何解决php中文乱码问题

PHP中文乱码主要是编码不对,存在以下两种情况,你以此检查一下 ,改对编码就行了

1、 php文件本身的编码与网页的编码应匹配
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。

b. 如果欲使用utf-8编码,那么php要输出头 :header(“Content-Type: text/html; charset=utf-8"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用 session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总 是删除,再保存就可以去掉BOM信息了。

2. php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。

② php正则匹配中文乱码问题

当然乱码啦,一个汉字在php里是三个字符,你这样直接用.去匹配任意字符的话,三个.才等于一个汉字。你把一个汉字给截取掉了,当然乱码了,不信你把你的0,10改成0,11。就不乱码的,而且只匹配出两个汉字。汉字不是这样去匹配的,有专门匹配汉字的正则,

③ 中文url编码、base64编码,PHP解码中文部分乱码

如果两端服务器页面使用的编码不一致,就会导致乱码

如你所说,对方服务器发来的是GBK编码的内容,如果你本地PHP用的编码不是GBK就会是乱码

2种解决方案:

  1. 将页面编码更改为GBK(可以通过header('Content-Type:text/html charset=gbk');)

  2. 将GBK编码转为当期页面编码(假设当前页面是utf-8),可以使用iconv('gbk','utf-8',$content);其中$content是你经过urldecode、base64解码后的字符串

④ php显示中文乱码

php数据库中文乱码的解决办法:1、创建数据库时,规定字符类型为uft8;2、创建表时,规定字符类型为utf8;3、在PHP的MySQL连接函数中,添加语句“mysql_query("set names 'utf8'")。

阅读全文

与php中文乱码解决相关的资料

热点内容
php循环字母 浏览:636
盛达是什么APP 浏览:196
android计算屏幕高度 浏览:651
自己做红包解压球 浏览:472
pdf很贵吗 浏览:492
如何抢购腾讯云服务器 浏览:387
电子书app源码 浏览:867
程序员在上班的时候 浏览:403
游戏压缩文件夹怎么删除 浏览:418
百度新闻app是什么 浏览:887
自动化对初级编程的影响 浏览:105
单片机综合课程设计 浏览:600
程序员小严 浏览:813
如何下载欢乐走app 浏览:440
程序员节公司请美女 浏览:16
三本程序员好吗 浏览:23
la78040场幅压缩 浏览:902
MFC经典游戏编程 浏览:789
在线申请小额贷款源码 浏览:336
多个文件夹如何批量删除内容 浏览:253