导航:首页 > 编程语言 > php传递中文乱码

php传递中文乱码

发布时间:2025-01-06 20:48:15

① 中文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. php文件本身的编码与网页的编码应匹配


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


    b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),静态页面添加<metahttp-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转码。

  3. 如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。

(2)php传递中文乱码扩展阅读:

解决PHP 输出简单的中文 乱码问题的其他方法:

在php的echo前面加入header("Content-Type:text/html;charset=gb2312")

把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312

③ 为什么使用php GD库图片输出中文字会出现乱码

原因:
1、服务器编码原因。由于imagettftext函数字符串参数的默认编码是UTF8,如果服务器编码不一致,而又没有进行相应的字符编码格式转换,很容易出现使用gd库输出图片时中文字符变成乱码。
2、没有选择正确的TTF字体文件。使用gd库时如果要输出中文字符,需要选择正确的TTF字体文件。

解决方法:
根据之前介绍的php gd库产生中文乱码的原理,解决php gd库中文乱码的方法其实很简单。
1、建议整站使用UTF8编码,如果你已使用的是GB2312或GBK编码,请使用iconv或自定义的gb2312与utf8转换函数进行字符编码转换。gb2312与utf8转换函数请参考PHP Ajax传值中文字符乱码如何解决。
2、如果你是刚进行php环境搭建,建议将Apache配置文件中的默认字符集修改为UTF8,即AddDefaultCharset UTF8。
3、如果上述方法还不行,请检查你在编译gd库时是否添加了–enable-gd-jis-conv选项,此选项是为了让gd库支持日文编码的字库,请取消此选项并重新编译。此方法我没验证过,估计主要是针对Unix下安装配置php环境。Windows环境一般不会出现这种情况,似乎默认PHP配置文件是注释掉的。
4、使用php gd库产生中文乱码的另一个原因是没有选择正确的TTF字体,你需要选择支持中文的字体,常用的中文字体文件是simsun.ttc和simhei.ttf。
OK,只要按照上述方法,基本上使用php gd库产生中文乱码时都能够解决。只要仔细排查其实gd库的中文乱码解决起来非常方便。

④ php显示中文乱码

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

⑤ 如何解决php中文参数传递乱码情况

php用中文参数没问题的 问题出在别处 比如显示页的编码 如果你找不到问题所在 可以用 base64_encode($tag)处理一下$tag 接收的时候再用 base64_decode($tag)即可

阅读全文

与php传递中文乱码相关的资料

热点内容
文稿怎么加密分享 浏览:958
喵影工厂手机app怎么保存图 浏览:626
苹果维修信息可不可以加密收藏 浏览:337
单簧管pdf 浏览:331
word转pdf注册码 浏览:459
普通程序员怎么进全栈工程师 浏览:568
途安14t压缩比 浏览:357
kmp算法next值 浏览:997
格力润享空调压缩机 浏览:747
文件夹怎么删除被另一个程序打开 浏览:719
pdf改字体颜色 浏览:841
单片机原理及应用实验 浏览:414
应用加密关了怎么不显示消息内容 浏览:706
华为本地铃声音乐文件夹是哪个 浏览:98
php项目开发经验 浏览:15
锐明服务器格式是什么 浏览:31
单片机显示实验 浏览:549
心理学史pdf 浏览:471
把cad转成pdf 浏览:661
和平精英国际服服务器换错怎么办 浏览:15