×

urldecodephp乱码

urldecodephp乱码(php url编码)

admin admin 发表于2023-04-02 22:07:11 浏览46 评论0

抢沙发发表评论

本文目录一览:

PHP文件里要输出的中文在浏览器里显示乱码

1、版权所有 是模板页面直接输出,你的页面设置了UTF8编码所以没问题 。

2、张三 是PHP文件中用函数的方式存在变量中的,问题出在PHP文件中。

解决办法:

第一步

?php

header("content-Type: text/html; charset=Utf-8"); //设置字符的编码是utp-8

mysql_query('set names utf8');

?

*************************************************************************************************

如果这样还不行,第二步

?php

$temp=utf8Encode('张三');

$template-setVariable("CUSTOMERNAME",$temp);

?

************************************************************************************************

如果这样还不行,第三步

php页面

?php

$temp=urlencode('张三');

$template-setVariable("CUSTOMERNAME",$temp);

?

模板页面

输出时用urldecode函数解码

******************************************************************************************************-urldecodephp乱码

如果这样还不行,第四步

结合第三步,用mb_convert_encoding或者iconv函数。这两个函数的用法你百度一下就知了。

******************************************************************************************************-urldecodephp乱码

如果这样还不行,第五步

我也没办法啦,555555

用php编写的网页如果url中包含汉字则报错

用urldecode()编码下

比如:a

href="aaa.php?region=四川省"aaa/a

链接到aaa.php中处理时就有乱码问题

这样就可以:

?php

$url

=

'aaa.php?region='.urldecode("四川省");

?

a

href="?php

echo

$url;?"aaa

/a

PHP url解码后中文乱码 GBK

xml文件保存的是什么编码?最好将xml编码也保存和服务器编码一致。

php自动跳转传值乱码

传值正能是英文,传中文的话先把中文编码:urlencode();接到数据后再urldecode()转换成中文

string urldecode ( string str )

解码给出的已编码字符串中的任何 %##。返回解码后的字符串。 例子 1. urldecode() example

?php

$a = explode('', $QUERY_STRING);

$i = 0;

while ($i count($a)) {

$b = split('=', $a[$i]);

echo 'Value for parameter ', htmlspecialchars(urldecode($b[0])),

' is ', htmlspecialchars(urldecode($b[1])), "br /\n";

$i++;

}

?

string urlencode ( string str )

返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页: 例子 1. urlencode() 示例-urldecodephp乱码

?php

echo 'a href="mycgi?foo=', urlencode($userinput), '"';

?

如何解决php中文参数传递乱码情况

php用中文参数没问题的 问题出在别处 比如显示页的编码 如果你找不到问题所在 可以用 base64_encode($tag)处理一下$tag 接收的时候再用 base64_decode($tag)即可-urldecodephp乱码

PHP中json_encode中文乱码问题

php 中使用 json_encode() 内置函数(php 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式

$arr = array ('a'=1,'b'=2,'c'=3,'d'=4,'e'=5);

echo json_encode($arr);

//结果

//{"a":1,"b":2,"c":3,"d":4,"e":5}

/*

下面看一款json_encode中文乱码问题

解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来-urldecodephp乱码

*/

function arrayrecursive($array, $function, $apply_to_keys_also = false)

{

static $recursive_counter = 0;

if (++$recursive_counter 1000) {

die('possible deep recursion attack');

}

foreach ($array as $key = $value) {

if (is_array($value)) {

arrayrecursive($array[$key], $function, $apply_to_keys_also);

} else {

$array[$key] = $function($value);

}

if ($apply_to_keys_also is_string($key)) {

$new_key = $function($key);

if ($new_key != $key) {

$array[$new_key] = $array[$key];

unset($array[$key]);

}

}

}

$recursive_counter--;

}

/**************************************************************

*

* 将数组转换为json字符串(兼容中文)

* @param array $array 要转换的数组

* @return string 转换得到的json字符串

* @access public

*

*************************************************************/

function json($array) {

arrayrecursive($array, 'urlencode', true);

$json = json_encode($array);

return urldecode($json);

}

$array = array

(

'name'='希亚',

'age'=20

);

echo json($array);

//应用实例

$servname="localhost";

$sqlservname="root";

$sqlservpws="123456";

$sqlname="lock1";

$db=mysql教程_connect($servname,$sqlservname,$sqlservpws) or die("数据库教程连接失败");

mysql_select_db($sqlname,$db);

$sql = "select * from t_operater";

$result =mysql_query($sql);

$rows = mysql_num_rows($result);

while($obj = mysql_fetch_object($result))

{

$arr[] = $obj;

}

echo '({"total":"'.$rows.'","results":'.json_encode($arr).'})';