找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 951|回复: 0
打印 上一主题 下一主题

PHP统一页面编码避免乱码问题

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 05:47:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            页面编码统一
MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。
1、MySQL数据库编码:
建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。
数据库连接时,也有编码,可以在连接完数据库后,执行mysql_query(‘SET NAMES gbk');//将gbk换成你的编码,如utf8。
2、html页面的编码,指的是这一行的设置:
[U]复制代码[/U] 代码如下:
3、PHP或html文件本身的编码:
用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。
4、Javascript或Flash中传递的数据是utf-8编码:
另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。
[U]复制代码[/U] 代码如下:
iconv('utf-8', 'gbk', $content);
5、在PHP程序中,可以加上一行,来指定PHP源程序的编码:
[U]复制代码[/U] 代码如下:
header('Content-type: text/html; charset=gbk');
php页面编码
1.在文件头中设置编码
[U]复制代码[/U] 代码如下:
2.header与meta的区别
用@header('Content-type: text/html; charset=gbk');与的区别
他们都是告诉浏览器用什么编码显示网页,要说有什么不同,header是发送原始 HTTP 标头,不在网页中留下什么,而meta是写在网页中。
其一,如果网页中没有meta,那么发送 HTTP 标头就起作用了。
其二,用header()函数发送原始 HTTP 标头,可以包含更多内容,设置编码只是其中之一。
其三,有些时候不要网页显示什么内容,但要通知浏览器用什么编码来进行后续动作。
            
            
您可能感兴趣的文章:
  • PHP base64编码后解码乱码的解决办法
  • 支持生僻字且自动识别utf-8编码的php汉字转拼音类
  • 编码导致json_decode函数无法解析问题" target="_blank">\"\"HP中遇到BOM、编码导致json_decode函数无法解析问题
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端