Php 显示编码URL中的日语字符

Php 显示编码URL中的日语字符,php,Php,我在php上做了一个小任务(甚至在cold fusion上也做了同样的任务) 有一个API将以下模式的URL作为数据发送给我: http://127.0.0.1:8080/test/index.php?brand=%93%FA%8EY%8E%A9%93%AE%8E%D4 http://127.0.0.1:8080/test/index.php?brand=Airtel%20India%20Mobile%20Corporation 我必须展示品牌名称,这是任务的关键部分。当我将品牌名称打印为: e

我在php上做了一个小任务(甚至在cold fusion上也做了同样的任务)

有一个API将以下模式的URL作为数据发送给我:

  • http://127.0.0.1:8080/test/index.php?brand=%93%FA%8EY%8E%A9%93%AE%8E%D4

  • http://127.0.0.1:8080/test/index.php?brand=Airtel%20India%20Mobile%20Corporation

  • 我必须展示品牌名称,这是任务的关键部分。当我将品牌名称打印为:

    echo $_GET['brand']
    
    ,则得到URL 2的正确输出

    URL 2打印印度移动通信公司Airtel

    但是,我得到了1的错误输出。 URL 1打印奇怪的字符集。请注意URL-1品牌包含日本公司(日产汽车有限公司)的日文名称

    URL 1:echo打印

    ŽYŽŽŽŽŽŽŽŽŽ

    我意识到这是一个编码问题。然后我做的是:

    在IE上单击鼠标右键->选择编码->选择日语(Shift_-JIS)作为编码

    我一选择日语(Shift_JIS),就得到了正确的输出

    日産自動車

    我如何使用PHP(和/或)Cold Fusion实现这一点?换句话说,我如何通过PHP(或coldfusion)代码(脚本)显示正确/期望的o/p


    非常感谢您的帮助。

    如果这在适当的网站上使用,您应该将该编码添加到HTML标题的
    字符集
    属性中。如果只是一个测试页面回显该字符串,那么浏览器将只使用默认编码

    <meta charset="shift_js">
    

    如果在适当的网站上使用该编码,则应将该编码添加到HTML标题的
    字符集
    属性中。如果它只是一个回显该字符串的测试页面,则浏览器将只使用默认编码

    <meta charset="shift_js">
    

    我想你可以使用这个功能

    已编辑

    $str = $_GET["brand"]; //%93%FA%8EY%8E%A9%93%AE%8E%D4
    $str = urldecode($str);
    echo $str; //日産自動車
    
    这应该行得通


    还有一个“urlencode”函数与“urldecode”函数的作用相反。

    我认为您可以使用这个函数

    已编辑

    $str = $_GET["brand"]; //%93%FA%8EY%8E%A9%93%AE%8E%D4
    $str = urldecode($str);
    echo $str; //日産自動車
    
    这应该行得通


    还有一个“urlencode”函数也与“urldecode”函数的作用相反。

    $str=$\u GET[“brand”];/%93%FA%8EY%8E%A9%93%AE%8E%D4$str=urldecode($str);echo$str//日産自動車 。这显示了“Y”?$str=$U GET[“brand”]/%93%FA%8EY%8E%A9%93%AE%8E%D4$str=mb_转换编码($str,“SJIS”,“auto”);echo$str//日産自動車 `` 抛出警告:mb_convert_encoding():无法在第3行的C:\xampp\htdocs\test\index.php中检测到字符编码我发布的第二个对我有效。我在发布之前对它进行了测试。你能复制并粘贴它,看看它是否有效吗?
    ,对我有效。谢谢你的帮助。我将接受这个答案,因为它为我提供了解决方案的路径。
    $str=$\u GET[“brand”];//%93%FA%8EY%8E%A9%93%AE%8E%D4$str=urldecode($str);echo$str//日産自動車 。这显示了“Y”?$str=$U GET[“brand”]/%93%FA%8EY%8E%A9%93%AE%8E%D4$str=mb_转换编码($str,“SJIS”,“auto”);echo$str//日産自動車 `` 抛出警告:mb_convert_encoding():无法在第3行的C:\xampp\htdocs\test\index.php中检测字符编码我发布的第二个对我有效。我在发布之前测试了它。你能复制并粘贴它,看看它是否有效吗?
    ,对我有效。感谢帮助。我将接受此答案,因为它为我提供了解决方案的路径。