POST数据编码问题 iconv("UTF-8","EUC-JP",$str)应该是这样吧。string iconv ( string $in_charset, string $out_charset, string $str ) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 客户端是UTF-8,服务器端是EUC-JP。客户端POST提交后,服务器端自身会将编码转化为EUC-JP,然后我想存入数据库的是UTF-8的编码,那样的话不就是应该将EUC-JP转化为UTF-8的吗? GET和POST的数据传输模式: 客 户 端 网 络 服务器端GET :按照浏览器进行编码 --> 二次编码为ISO-8859-1 --> 网络传输 -->根据服务器解码格式进行解码 -->$_GET[$str]获取 --> 按数据库编码转换写入POST:按照CHARSET进行编码--> 二次编码为ISO-8859-1 --> 网络传输 -->根据服务器解码格式进行解码 -->$_POST[$str]获取--> 按数据库编码转换写入不知道以上理解是否正常?还有就是服务器端读数据库后传输给客户端是怎么样的一个流程? 是这样的吗?好像不是啊!服务器的编码不会改变用户提交的数据吧!所以应该是用iconv("UTF-8","EUC-JP",$str); iconv("UTF-8","EUC-JP",$str);iconv("EUC-JP","UTF-8",$str);两种结果都不对的。 echo "original:".$_POST["tName"]; echo "<br>UtoE:".iconv("UTF-8","EUC-JP",$_POST["tName"]); echo "<br>EtoU:".iconv("EUC-JP","UTF-8",$_POST["tName"]);结果如下: original:æ? 页面跟数据库都用UTF8就可以了~不用转换=.= 建立加载mbString包,并在调用时使用mb_convert_string进行转码。对于mysql读取信息时,先“set name 'utf8'”,一下,然后建议再使用mb_convert确保信息准确。 问题前些天自己解决了,form提交必须加上enctype="multipart/form-data",这样保证页面编码为UTF-8的话不出现任何问题了。 incorect string value PHP插入中文显示错误 关于正则问题 <link rel="alternate" type="application/rss+xml" title="Phpcms统" href="/rss.php? 删除不了了 奇怪怎么回事啊??? MYSQL多表查询 记录集显示的问题 php入门级书籍? 文件上传的问题--在线等--散分 图片上传问题,鞠躬中~~~~~~~ 怎么控制文本格式? 如何从Json中取出数据放到一个新组中 在公司配过环境的麻烦进来下 为什么调用数组的值时显示空白
GET :按照浏览器进行编码 --> 二次编码为ISO-8859-1 --> 网络传输 -->根据服务器解码格式进行解码 -->$_GET[$str]获取 --> 按数据库编码转换写入
POST:按照CHARSET进行编码--> 二次编码为ISO-8859-1 --> 网络传输 -->根据服务器解码格式进行解码 -->$_POST[$str]获取--> 按数据库编码转换写入
不知道以上理解是否正常?还有就是服务器端读数据库后传输给客户端是怎么样的一个流程?
iconv("UTF-8","EUC-JP",$str);
iconv("EUC-JP","UTF-8",$str);两种结果都不对的。
echo "<br>UtoE:".iconv("UTF-8","EUC-JP",$_POST["tName"]);
echo "<br>EtoU:".iconv("EUC-JP","UTF-8",$_POST["tName"]);
结果如下:
original:æ?
对于mysql读取信息时,先“set name 'utf8'”,一下,然后建议再使用mb_convert确保信息准确。