编码方法,配置步骤分享

by admin on 2019年1月31日

前几天在使用.htaccess做伪静态的时候,发生一件怪事,URL里存在C++时会有难点,在处理C++这一个词的时候,无论怎样,$_GET都得不到++,只好取得C空格.

WINDOWS 下WAMP环境下 的 Zend Framework 配置

固然最新的 PHP 5.4 已经不错襄助 JSON 普通话编码,即由此JSON_UNESCAPED_UNICODE 参数,例如:

iis
rewrite伪静态粤语无效难题我统计了三个解决办法,一种是在rewrite伪静态事上[NU]参数即可解决,另种是本人从前讲过的把中文汉字进入urlencode编码转换那样不设有汉语了,但浏览器会自动识别汉语并可正常访问。

一开首自己认为是没用urlencode处理,后来发觉真正处理了,后台经过排查,确定是rewrite的难点,因为在单文件的条件是足以拿走C++这一个词的,当然,是通过了urlencode的.

1,安装WampServer
下载WAMPSERVER并安装,在本例中,安装在C:\wamp下。

json_encode(“中文”, JSON_UNESCAPED_UNICODE)对于早前 PHP
版本,处理不转义汉语字符的 json 编码

后日在拍卖一个tag页面的时候.由于须要用到伪静态成效.在rewrite的时候

原因:rewrite得不到c++这几个词,是因为APACHE在收获参数后,自行做了urldecode处理,导致不可能获取C++中的加号部分

**2 安装Zend Framework

PHP 和 JavaScript 交互其实很有益于,PHP 原生也提供了对 JSON
格式的援助。首要概括 JSON 编码和平解决码七个函数:

缘由是中间的中文Unicode音讯会被ISAPI_编码方法,配置步骤分享。Rewrite转为uft-8的格式编码大家只须要在相应的伪静态规则后加[NU]参数即可禁止编码转换,

 

**解压缩 Zend Framework 压缩包中 \library\ 至 C:\wamp\library
(那其间没有library目录,要团结建一个)

json_endoce:
bf88必发唯一官网,json_dedoce:

例如

决方案近日只见到了一种,在PHP的官网上也有记载,在处理c++时,举行两遍urlencode处理,即urlencode(urlencode(‘C++’)),那样再rewrite的时候,就足以获得C++这么些词了.

3 开启援救rewrite module
编辑 httpd.conf。

— 对变量举行 JSON 编码,并重返 value 值的 JSON 方式,例如:

 代码如下

附上PHP.NET上的具体地址

  • 编辑 C:\wamp\bin\apache\Apache2.2.10\conf\httpd.conf 文件。或

  • 右击托盘里WampServer小图标 –> Apache –> httpd.conf

编码方法,配置步骤分享。 代码如下

复制代码

bf88必发唯一官网 1

# LoadModule rewrite_module modules/mod_rewrite.so

<?php
$arr = array (‘a’=>1,’b’=>2,’c’=>3,’d’=>4,’e’=>5);
echo json_encode($arr);
?>

RewriteRule ^/shop-(.*).html$ /shop.php?nick=$1 [NU]

 

去掉 ‘#’,改为:

上述代码执行后输出:

那样就帮忙汉语了..写下来方便将来使用.

LoadModule rewrite_module modules/mod_rewrite.so

 代码如下

注:以上措施在IIS下有用.在apache下可以无视.

**4 PHP library 设置

{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}

方法二,此措施可以用来iis伪静态与apache伪静态哦,那样处理是合作所有服务器环境了,如

**- 编辑 C:\wamp\bin\php\php5.2.7\php.ini,或

若是要编码的数据源(一般是一个数组),value 中蕴涵普通话,经过
json_encode 处理后输出的是 unicode 编码。

a.php?a=一聚教程网

  • 右击托盘里WampServer小图标 –> PHP –> php.ini

 代码如下

那样的话有时会有难题,但大家能够动用php urlencode()函数进行转换

; Windows: “\path1;\path2”

<?php
$arr = array (‘a’=>’芒果小站’);
echo json_encode($arr);
?>

a.php?a=urlenocde(‘一聚教程网’);

; include_path = “.;c:\php\includes”

如上代码执行后输出:

然后在经受页面一直$_GET[‘a’]即可解决了哦。

去掉 ‘;’,并且增进Zend Framework 压缩包安装路径,改为:

 代码如下

rewrite伪静态粤语无效难题自己计算了三个解决办法,一种是在rewrite伪静态事上[NU]参数即可解决,另种是本身从前讲过的把汉语汉字进入url…

; Windows: “\path1;\path2” (那里的分行没有撤废)

{“a”:”u8292u679Cu5C0Fu7AD9″}

include_path = “.;c:\php\includes;c:\wamp\library;”

PHP 底层已经做了 unicode 处理,即使嫌它不够直观,可以利用 urlencode 和

5. 生产quickstart项目
Windows起始菜单点击运行,输入”CMD”,打开Dos命令窗口,

urldecode

运转命令:”set
path=%path%;C:\wamp\bin\php\php5.2.9-2;”注册php.exe的路径

方式绕过这一个转码为 unicode 的经过:

运行命令:”cd C:\wamp\www”,将眼前路线切换来WAMP的网站文档www路径

 代码如下

运行命令:”ZendStudio\ZendFramework-1.8.1\bin\zf.bat create project
quickstart

$arr = array (‘a’=>urlencode(‘芒果小站’));
echo urldecode(json_encode($arr));以上代码执行后输出:

只顾将zf.bat的途径换成你协调的路径,稍候,zf.bat建立quickstart项目:”Creating
project at C:/wamp/www/quickstart”

{“a”:”芒果小站”}

6. 测试示例项目
开辟浏览器,浏览”
to the Zend Framework!”的页面了。(就算没有浮现请重启wmap)

,那里享用个更健全的点子:

你或许感兴趣的稿子:

  • 化解了Ajax、MySQL 和 Zend Framework
    的乱码难题
  • ZendFramework2连接数据库操作实例
  • Zend
    Framework数据库操作技能统计
  • Zend
    Framework入门应用实例详解
  • Zend
    Framework前端控制器用法示例
  • Zend
    Framework路由器用法实例详解
  • Zend
    Framework分发器用法示例
  • Zend
    Framework动作控制器用法示例
  • Zend
    Framework处理Json数据格局详解
  • Zend
    Framework使用Zend_Loader组件动态加载文件和类用法详解
  • Zend
    Framework完成自定义过滤器的不二法门
  • Zend
    Framework框架中完成Ajax的办法言传身教

 /**
  * 不转义中文字符的 json 编码方法
  * @param array $arr 待编码数组
  * @return string
  */
 function encode ($arr) {

  $str = json_encode($arr);
  $search = “#\u([0-9a-f]+)#ie”;
  $replace = “iconv(‘UCS-2’, ‘UTF-8’, pack(‘H4’, ‘\1’))”;

  return preg_replace($search, $replace, $str);

 }

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图