【PHP编码的几个最佳实践】教程文章相关的互联网学习教程文章

十步解决Php Utf-8编码(转贴)

php用UTF-8总结:1、php文件本身必须是UTF-8编码。不像Java会生成class文件,避免这个问题2、php要输出头:header(”Content-Type: text/html; charset=UTF-8″)3、meta标签无所谓,有header所有浏览器就会按header来解析4、所有外围都得用UTF8,包括数据库、*.js、*.css(CSS影响倒不大)5、php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码(基本上的linux都装了,没装的话down...

PHP base64编码后解码乱码的解决办法

在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的。来看看罪魁祸首是谁。嫌疑人:base64_encode 和 base64_decode罪行:我写了一个跳转和提示函数,接收提示信息后跳转到指定的页面,但是跳转提示时汉字乱码。跳转模版代码如下:复制代码 代码如下: <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="王健 wj@yurendu.com" /> <title>跳转提示</tit...

php 正确解码javascript中通过escape编码后的字符

这是很久以前收集的一个,不知道谁写的了,但经过测试没有问题~ JavaScript代码 复制代码 代码如下:function phpUnescape($escstr) { preg_match_all("/%u[0-9A-Za-z]{4}|%.{2}|[0-9a-zA-Z.+-_]+/", $escstr, $matches); $ar = &$matches[0]; $c = ""; foreach($ar as $val) { if (substr($val, 0, 1) != "%") { $c .= $val; } elseif (substr($val, 1, 1) != "u") { $x = hexdec(substr($val, 1, 2)); $c .= chr($x); } else { $val...

JS URL 编码 PHP 解码{%u5F00%u53D1}

这次第一次用smarttemplate这个模板,比smarty小巧了很多,但也有些不方便的地方。 smarty可以直接对url进行编码, 比如<!--{$var|urlencode}--> 但在smarttemplate里面就好像没有,由于链接是由js提交的,而不是表单提交,所以不能自动编码。 解决办法: 采用js对URL中的汉字进行escape编码。 <a href="" onclick="window.open(‘product_list.php?p_sort=‘+escape(‘PHP开发资源网‘));">这样点击链接后的效时: 引用:http://12...

DEDE里有个编码问题,不支持PHP5.4及以上版本!

公司新配置服务器,没有PHP环境,下载了个PHP5.5.25,配置完毕后,从另外一个服务器转移了一个DEDECMS做的网站,安装后,进入后台,恢复数据发现参数设置里的文本框,只要是中文信息,没有显示,或者新添加的中文信息没有显示,查找原因,DEDE中有些字符串在经 htmlspecialchars 函数转义之前正常,而在转义之后却变成了空字符串。PHP 从 5.4.0 版本开始第三个参数字符串编码的默认值改成了 UTF-8,而DEDE代码中的中文编码正好是 G...

通过四种方式让PHP编码变得更轻松

通过四种方式让PHP编码变得更轻松  尽管已经目前PHP语言已经建立起属于自己的软件文化,但要找到它令人抓狂的弊端也绝对不是难事。我们曾经在之前的文章中列出过该语言最让开发人员难以接受的十二大糟糕特性。  不过在过去几年当中,PHP已经发生了一系列变动——从语言本身到相关生态系统再到对开发者社区的支持——这些确实值得我们加以关注。尽管已经抛弃了PHP并投身于Python或者Ruby的用户们不太可能在短时间内被吸引回来,...

PHP字符串——编码与转义

因为PHP程序经常与HTML页、Web地址(URL)以及数据库交互,所以PHP提供一些函数来帮助你处理这些类型的数据。HTML、Web页地址和数据库命令都是字符串,但是它们每个都要求不同的字符以不同的方法来转义。例如,在Web地址中一个空格被写成%20,而直接量小于符号(<)在HTML文档中必须写作&lt。PHP有许多内置函数来转换和取得这些编码。HTML:在HTML中特殊的字符以实体(entity)表示,如&amp;和<。这里有两个PHP函数来把字符串中的特殊字符...

PHP 字符串编码的转换【代码】

原文链接:http://mangguo.org/php-string-encoding-convert-and-detect/GBK 和 UTF-8 编码的转换是一个非常恶心的事情,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码。有两个库函数能够支持编码的转换,通常能够想到的就是 iconv 函数,使用起来也非常爽:iconv(‘GBK‘, ‘UTF-8//IGNORE‘, ‘芒果小站‘); // 将字符串由 GBK 编码转换为 UTF-8 编码但 iconv 只能解决编码预先知道的情况,如果字符串编码未知,则需...

php和js url编码传递转换

encodeURI() 函数可把字符串作为 URI 进行编码,字符将被十六进制的转义序列进行替换。decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。js的encodeURI()后的字符一般为utf-8编码,如果服务器端编码为不同编码,则需要iconv转换。<?PHP$a = urlencode(iconv("gb2312", "UTF-8", "电影")); //等同于JavaScript encodeURI("电影");echo $a;//得到“%E7%94%B5%E5%BD%B1”;$b = iconv("utf-8","gb2312",urldecode("%E7%94...

PHP中对汉字进行UNICODE编码和解码的功能

<?php //将内容进行UNICODE编码,编码后的内容格式:\u56fe\u7247 (原始:图片) function unicode_encode($name) {$name = iconv(‘UTF-8‘, ‘UCS-2‘, $name);$len = strlen($name);$str = ‘‘;for ($i = 0; $i < $len - 1; $i = $i + 2){$c = $name[$i];$c2 = $name[$i + 1];if (ord($c) > 0){ // 两个字节的文字$str .= ‘\u‘.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16);}else{$str .= $c2;}}retur...

php&获取当前字符串的编码格式【代码】

如果不清楚字符串的编码格式的话,就可以像这样检查:? $out_string = mb_detect_encoding($string, array("ASCII", "UTF-8", "GB2312", "GBK", "BIG5")); echo $out_string;?这样就能知道它是什么编码的了。后续操作还可以为其转码:?if ($out_string == "UTF-8") { $string = iconv("UTF-8", "GBK", $string); }原文:http://blog.51cto.com/laok8/2132904

4项技巧使你不再为PHP中文编码苦恼

PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII 码,中国的 GB2312-80,日本的 JIS 等。作为该国家/区域内信息处理的基础,字符编码集起着统一编码的重要作用。字符编码集按长度分为 SBCS(单字节字符集),DBCS(双字节字符集)两大类。早期的软件(尤其是操作系统),为了解决本地字符信息的计算机处理,出现了各种本地化版本(L1...

PHP中GD2的运用,注意编码格式的改变,以及head()函数之前不能有任何html元素包括空格!!!【代码】

<?phpheader ( "Content-type: text/html; charset=utf-8" ); //设置文件编码格式header("Content-type: image/jpeg"); //告知浏览器所要输出图像的类型$img = imagecreate(100, 50); //创建画布$bg = imagecolorallocate($img, 255, 255, 255); //定义背景颜色$red = imagecolorallocate($img, 255, 0, 0); //设置字符串颜色$text="I like PHP";iconv("gbk","utf-8", $text);// 将GBK编码格式转换成UTF-8格式imag...

在网上看到的一篇文章关于js和php编码的【代码】

解决办法: 采用js对URL中的汉字进行escape编码。 <a href="" onclick="window.open(‘product_list.php?p_sort=‘+escape(‘PHP开发资源网‘));">这样点击链接后的效时: 引用:http://127.0.0.1/shop/product_list.php?p_sort=PHP%u5F00%u53D1%u8D44%u6E90%u7F51生成了这样的效果, 很明显用PHP的urldecode()或者base64_decode()是无法反解的。 解决方法, 用PHP写一个反解函数: function js_unescape($str){ $ret = ‘‘...

基于Snoopy的PHP近似完美获取网站编码的代码

先要到网上下载Snoopy.class.php 调用方法: 复制代码 代码如下:<?php require ‘lib/Snoopy.class.php‘; require ‘lib/WebCrawl.class.php‘;//包含下面代码 $go=new WebCrawl(‘http://www.baidu.com‘); echo $go->getCharset(); ?> 复制代码 代码如下:<?php class WebCrawl { private $url; private $request; public $charset_arr=array( ‘gb2312‘, ‘utf-8‘, ‘big5‘, ‘gbk‘, ‘ascii‘, ‘cp936‘, ‘ibm037‘, ‘i...