如何处理 _GET 美元的日语字符


How to Process Japanese Characters in $_GET

I do

http://localhost/api/test2.php?id=jr-東北本線-荒川橋梁__35.79_139.72

然后我做

$data=$_GET['id']; // Zend says that $data is jr-????-????__35.79_139.72
$encoding = mb_detect_encoding ($data); // $encoding is ASCII
$data= mb_convert_encoding($data,'utf-8'); //$data is still jr-????-????__35.79_139.72
$encoding2 = mb_detect_encoding ($data); // $encoding is still ASCII

问题是我想$data成为jr-東北本线-荒川橋梁__35.79_139.72

那我该怎么办?

如果 URL 数据的编码(查询部分)实际上是 UTF-8 编码的,则根本不需要执行任何操作。PHP 支持 UTF-8,然后开箱即用,这要归功于它的二进制安全字符串。

因此,您最好不要仅仅为了获得一些乐趣而进行任何转换(失败了,这很糟糕)。