con't convert string to unicode 怎么解决啊? 表单页面传值是UTF-8编码的中文,传给PHP页面会报警告con't convert string to unicode怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看一下接收到的参数值类型:gettype echo gettype(参数值); 没用AJAX就是表单提交传给php做逻辑处理 我用mb_detect_encoding()得到的参数传过来中文是UTF8,英文是ASCII 其实不需要,传值前使用urlencode转码,再在服务器端进行接收即可urlencode(PHP 4, PHP 5)urlencode — 编码 URL 字符串说明string urlencode ( string $str )返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页: Example #1 urlencode() 例子<?phpecho '<a href="mycgi?foo=', urlencode($userinput), '">';?> 注意:小心与 HTML 实体相匹配的变量。像 &、© 和 £ 都将被浏览器解析,并使用实际实体替代所期待的变量名。这是明显的混乱,W3C 已经告诫人们好几年了。参考地址:» http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2。PHP 通过 arg_separator.ini 指令,支持将参数分割符变成 W3C 所建议的分号。不幸的是大多数用户代理并不发送分号分隔符格式的表单数据。较为简单的解决办法是使用 & 代替 & 作为分隔符。你不需要为此修改 PHP 的 arg_separator。让它仍为 &,而仅使用 htmlentities() 或 htmlspecialchars() 对你的 URL 进行编码。 Example #2 urlencode() 与 htmlentities() 例子<?php$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);echo '<a href="mycgi?' . htmlentities($query_string) . '">';?> 在windows下不搭建其他环境用php+VC6.0如何编译C++程序 请问这段代码是什么 意思? 关于showModalDialog传递参数问题 PHP5传值问题 求C 的函數轉換成PHP的 [加急!]ewebeditor的PHP版本(3.8)的问题 汉字编码问题 请教:如何发现url输入错误,及转向错误页 FreeBsd中安装GD库出现的错误 QQKiKi(KiKi) 来拿分吧 类似CSDN回复中如果有分页了,点那个下拉框就跳到第几页是怎么实现的? php文件下载问题
看一下接收到的参数值类型:gettype
echo gettype(参数值);
其实不需要,传值前使用urlencode转码,再在服务器端进行接收即可urlencode
(PHP 4, PHP 5)urlencode — 编码 URL 字符串说明
string urlencode ( string $str )
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页: Example #1 urlencode() 例子<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?> 注意:小心与 HTML 实体相匹配的变量。像 &、© 和 £ 都将被浏览器解析,并使用实际实体替代所期待的变量名。这是明显的混乱,W3C 已经告诫人们好几年了。参考地址:» http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2。PHP 通过 arg_separator.ini 指令,支持将参数分割符变成 W3C 所建议的分号。不幸的是大多数用户代理并不发送分号分隔符格式的表单数据。较为简单的解决办法是使用 & 代替 & 作为分隔符。你不需要为此修改 PHP 的 arg_separator。让它仍为 &,而仅使用 htmlentities() 或 htmlspecialchars() 对你的 URL 进行编码。
Example #2 urlencode() 与 htmlentities() 例子<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>