我的网站 是用HTML 写的, 里面有个支付页面, 填写用户名.这个网页设置成了UTF-8. 然后表单提交到 PAYPAL 网站, 我发现如果提交汉字, 他就无法读取到这个字段.所以我要先将这个 input 字段转成UTF-8.但是问题是, 如果这个 input 填写的是日文 或者 阿拉伯等 其他国家的, 我用网上的 GBK转UTF-8代码不行吧?比如这2个网站的 
http://tmsoft.lsxy.com/index.php?load=read&id=390
http://www.wangchao.net.cn/bbsdetail_38168.html我该怎么办呢? 谢谢!

解决方案 »

  1.   


    我不知道他用的什么编码, 如果是中文账号, paypal再次传递给我一个PHP时, 是 charset = windows-1252.但是我的PHP生成一个hash值, 要用 UTF-8.如果我在html提交给PAYPAL之前, 将字符串编码成UTF-8模式,比如AD%AD%AD% 这样的, 我的PHP要怎么做把它弄回去呢?  我都不好表达了 -_-
      

  2.   

    我现在用了 这个网页的 JS 转 成UTF-8代码http://dev.csdn.net/article/31/31400.shtm还没测试PHP那头, 晕
      

  3.   

    Asp里有 Server.UrlEncode 和 UrlDecodePhp不会 - -!
      

  4.   

    如果我在html提交给PAYPAL之前, 将字符串编码成UTF-8模式,比如AD%AD%AD% 这样的, 我的PHP要怎么做把它弄回去呢? PHP 本来不应该处理 AD%AD%AD% ,应该处理 他的原始代码, 对不.比如: 在HTML里面输入"中国", 然后我编码成 %E4%B8%AD%E5%9B%BD, 放到一个 hide input里面传递给PAYPAL, PAYPAL 按原内容 再POST给我的 PHP,  我的PHP $name= $_POST[name']; 这个时候应该是 $name= %E4%B8%AD%E5%9B%BD. 我就应该要转回去再进行计算吧?
    $name_bak= xxxx($name); //暂时还不知道用什么函数 
      

  5.   

    http://dev.csdn.net/article/31/31400.htm
    这个里面有
      

  6.   

    PHP用urldecode解码已编码的 URL 字符串<?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++;
    }
    ?>
      

  7.   


    打不开你的页面.我的那个网址的UTF-8, 他居然不能正确地转 "测试.HTML"