Php 显示编码URL中的日语字符
我在php上做了一个小任务(甚至在cold fusion上也做了同样的任务) 有一个API将以下模式的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
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中检测字符编码我发布的第二个对我有效。我在发布之前测试了它。你能复制并粘贴它,看看它是否有效吗?
,对我有效。感谢帮助。我将接受此答案,因为它为我提供了解决方案的路径。