繁体   English   中英

如何在 JavaScript 或 PHP 中将 unicode 转换为 ascii?

[英]How to convert unicode to ascii in JavaScript or PHP?

我有一个应用程序,我的一个用户使用某种自定义键盘来更改他们键入的字体。

他们将这些字符输入到应用搜索框中。

我相信这是 unicode 字符? 如果我错了纠正我。

然后这个词被转换为查询参数。

?search=%F0%9D%99%88%F0%9D%99%96%F0%9D%99%A2%F0%9D%99%AE%F0%9D%99%A5%F0%9D%99%A4%F0%9D%99%A0%F0%9D%99%A4

并且服务器不返回任何结果。

如何将字符改回常规的 ascii“Mamypoko”,以便我的应用程序显示所需的结果,而不管用户的键盘如何?

我不介意使用 JavaScript 或 PHP,我只需要在调用 MySQL 查询之前进行转换。

对于这种特殊情况,带有 //TRANSLIT 标志的 iconv 可以帮助您。 请参阅https://www.php.net/manual/en/function.iconv.php

$search="%F0%9D%99%88%F0%9D%99%96%F0%9D%99%A2%F0%9D%99%AE%F0%9D%99%A5%F0%9D%99%A4%F0%9D%99%A0%F0%9D%99%A4";

$converted = iconv("UTF-8", "ISO-8859-1//TRANSLIT", urldecode($search));

var_dump($converted);

这给你:

string(8) "Mamypoko"

在 php 中使用urldecode()函数可以得到准确的结果。

代码:

$myString= 'https://lamesarv.com?search=%F0%9D%99%88%F0%9D%99%96%F0%9D%99%A2%F0%9D%99%AE%F0%9D%99%A5%F0%9D%99%A4%F0%9D%99%A0%F0%9D%99%A4
';

echo urldecode($myString);

结果:

https://lamesarv.com?search=𝙈𝙖𝙢𝙮𝙥𝙤𝙠𝙤

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM