php中不转义汉语字符的 json 编码方法

明日在使用.htaccess做伪静态的时候,发生一件怪事,URubiconL里设有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
下载WAMPSECRUISERVESportage并安装,在本例中,安装在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:
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

 代码如下

复制代码

图片 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]

发表评论

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