刚开始学习PHP同学,在写项目的时候因为经验不足,会出现乱码的情况,乱码的情况有很多种:
1、PHP文件输出时出现乱码
php文件本身的编码一定要与网页的编码相匹配
如果使用gb2312编码
那么php要输出头:header(“Content-Type: text/htmlcharset=gb2312")
静态页面添加
如果使用utf-8编码
那么php要输出头:header(“Content-Type: text/htmlcharset=utf-8")
静态页面添加
2.PHP与My SQL数据交互出现乱码
PHP要与数据库的编码一致
在需要做数据库操作的php程序前加mysql_query("set names '编码'")编码和php编码一致
如果php编码是gb2312那mysql编码就是gb2312
写法:
mysql_query("set names 'GBK'")
如果是utf-8那mysql编码就是 utf-8
写法:
mysql_query("set names 'utf8'")
这样插入或检索数据时就不会出现乱码了
学会了吗?
这样你试试看吧``嘻嘻当你收到乱码邮件后,如果让对方重发一次,既浪费时间,又显得你“露怯”,不如通过尝试以下方法自行解码:
1.根本设置 对OutlookExpress进行根本设置,可彻底解决电子邮件的乱码。打开OutlookExpress后,选择“工具”→“选项”命令,单击“阅读”标签,再单击“字体”按钮,选择“简体中文(GB2312)”,同时把它设置为默认值。接下来,单击“国际设置”按钮,选中“为接收的所有的邮件使用默认的编码”,确定退出。如此设置后,当你打开所有邮件,通常都不会再出现乱码了。
2.选项查看 通常情况下,没有进行上述邮件设置,导致邮件乱码情况居多。在OutlookExpress中,选择乱码邮件后,单击“查看”→“编码”→“简体中文(GB2312)”或“其他”→“简体中文(HZ)”,邮件内容即可展现。
3.转寄再收 如仍显示乱码,可试着将乱码邮件转寄到自己的邮箱中,然后用OutlookExpress接收,有时即可顺利解码。
4.改名重读 仍然不行可将邮件改名,存成一个后缀名为.eml的文件,由OutlookExpress打开一般都可以自动解码。
5.追根溯源 对于采用不同编码标准产生的乱码邮件,解码工作比较专业,说起来会很生涩。我们不妨选择乱码邮件后,右键单击鼠标,在弹出的快捷菜单中选择“属性”命令,接着在出现的对话框中单击“详细资料”标签,再单击“邮件源文件”按钮,这时就会打开邮件源文件码,邮件内容显现。
6.巧妙骗解 如问题仍得不到解决,接上一步操作,右键单击,选“复制”,将“邮件源文件”拷贝到系统的剪贴板上,然后用记事本将其打开。在邮件信头中添加Mime-Version:1.0Content-Transfer-Encoding:quoted-printable,注意信头中间不要空行,信头和信体之间要有一个空行,保存为.txt纯文本文件。接下来用资源管理器将其改名为.uue为后缀的文件并运行,这时会自动调用WinZip并“骗取”它来对乱码邮件进行解码工作,进而正确显示编码邮件的“庐山真面目”。
7.代码替换 将乱码邮件存为一个.eml的文件,用记事本打开。然后打开一个正常邮件,选择并复制一呗代码:
Content-Type:text:/plain;
charset=“GB2312”
Content-Transfer-Encoding:quotedprintable
替换粘贴到乱码邮件的相应位置,保存后关闭邮件。这时乱码邮件变为正常邮件。
8.优化重组 很多的邮件编辑软件以字符为单位处理文本,双字节的汉字被删除一半后,剩余部分会和相邻的汉字重新组合,使得文本面目全非。我们收到的绝大多数邮件属于此类。判断这类邮件时,只要乱码内容有很多“=”号,即可肯定为QP编码的邮件。这时我们需要将乱码邮件存成一个文本文件,然后使用以字符为单位的编辑软件,将乱码行的第一个字符删除。笔者有一个很笨但十分有效的办法,就是将乱码连接起来,不管多长,发现内容之间有两个“=”号,去掉其中的一个多余“=”号,后面的部分就会和相邻的乱码重新组成可识别的汉字。如果以上方法均不能奏效,则可以判断收到的乱码邮件未经过编码造成第8位字节滤掉而成为无法还原的死乱码文档,只好请对方重发邮件给你了。
乱码应该检查的几个地方:1.单独的静态页面乱码,可以尝试单独改变静态页面的编码。方法是在win7下用记事本打开文件后另存为自己需要的编码。如果有多个页面出现乱码,可以查看模板文件是否编码错误。
2.的编码格式和文件本身编码不符,这时只需要使文件编码与charset值一致就可以了。
3.数据库编码与网站源码编码不一致的情况。例:网站GBK编码的,解决办法是进入phpmyadmin,将数据库清空后,把数据库编码改为gbk_chinese_ci,然后重新安装网站,这时网站就正常了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)