探讨PHP编码转换函数应用技巧
在
可以在有需要的使用场合(如:解决在GB2312编码环境下使用Ajax产生的中文字乱码的问题)方便进行编码转换,以解决网页乱码的问题,使用非常方便,效率非常高,几乎支持所有编码。PHP 4 >= 4.0.6、PHP 5 版本支持。
PHP编码转换函数原型:
- /**
- * 多字节字符串编码转换函数
- *
- * @param string str 需要进行编码转换的字符串
- * @param string to_encoding 指定转换为某种编码
,如:gb2312、gbk、utf-8等 - * @param mixed from_encoding 混合指定原来字串的编码
,如:同时指定 JIS, eucjp-win, sjis-win 混合编码 - * @return string
- string mb_convert_encoding ( string
str, string to_encoding [, mixed from_encoding] )
PHP编码转换函数使用举例:
1、把 GBK 编码字串转换成 UTF-8 编码字串
<ol class="dp-xml"> <li class="alt"><span class="tag"> ?PHP </span></li> <li> <span>header("content-Type: text/html; <br></span><span class="attribute">charset</span><span>=</span><span class="attribute-value">Utf</span><span>-8"); </span> </li> <li class="alt"><span>echo mb_convert_encoding("<br>你是我的好朋友", "UTF-8", "GBK"); </span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
2、把 UTF-8 编码字串转换成 GB2312 编码字串
<ol class="dp-xml"> <li class="alt"><span><span>// 注意将此文件存盘成 utf-8 <br>编码格式文件再测试 </span></span></li> <li><span class="tag"><span> ?</span>PHP<span> </span></span></li> <li class="alt"> <span>header("content-Type: text/html; <br></span><span class="attribute">charset</span><span>=</span><span class="attribute-value">gb2312</span><span>"); </span> </li> <li><span>echo mb_convert_encoding("<br>你是我的好朋友", "gb312", "utf-8"); </span></li> <li class="alt"> <span class="tag">?></span><span> </span> </li> </ol>
3、对整个页面进行转换
该方法适用所有编码环境。这样把前128个字符以外(显示字符)的字符集都用 NCR(Numeric character reference,如“汉字”将转换成“汉字”这种形式)来表示,这样的编码在任意编码环境下页面都能正 常显示。
在PHP文件的头部加上下面三行代码:
<ol class="dp-xml"> <li class="alt"><span><span>mb_internal_encoding("gb2312"); </span></span></li> <li><span>// 这里的gb2312是你网站原来的编码 </span></li> <li class="alt"><span>mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler'); </span></li> </ol>
使用mb_convert_encoding 函数需启用PHP 的mbstring (multi-byte string)扩展。
如果没有没有开启PHP的mbstring扩展,则需要做如下设置,让PHP支持该扩展。
1、windows 服务器环境
编辑 PHP.ini 文件,将; extension=PHP_mbstring.dll 前面的 ; 去掉,重启网页服务器。
2、Linux服务器环境
在编译配置时加入 --enable-mbstring=cn 编译参数,再进行PHP的编译安装。
结束语:
如果大家在使用PHP编码转换函数的过程中,还有什么无法明白的地方,可以参看《PHP手册》。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version
SublimeText3 Linux latest version

Notepad++7.3.1
Easy-to-use and free code editor

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software
