[英]Javascript encodeURI() vs. PHP rawurldecode() and special characters
这是一个Unicode等价问题,看起来您的IDE不能很好地处理多字节字符串。
在unicode中,您可以使用以下任一种来表示Ü:
您的GWT字符串使用后一种方法称为NFD,而您的PHP中的字符串使用第一种方法称为NFC。 这就是为什么您的GWT字符串要长3个字符的原因,即使它们都是逻辑上相同的unicode字符串的有效编码。 您的问题是PHP中的字节对字节不相同。
有关utf-8规范化的更多详细信息。
如果要对字符串进行预浸料替换,则需要先将其标准化为相同形式。 从您的示例中,我可以看到您的IDE正在使用NFC,因为它是可以使用的PHP字符串。 因此,我建议在PHP中将NFC形式规范化(默认设置),然后执行preg_replace。
http://php.net/manual/zh/normalizer.normalize.php
function cleanImageName($name)
{
$name = Normalizer::normalize( $name, Normalizer::FORM_C );
$clean = preg_replace(
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.