如何防止这样的 unicode 字符Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝ 在我的网站上,为啥它们存在? [复制]

Posted

技术标签:

【中文标题】如何防止这样的 unicode 字符Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝ 在我的网站上,为啥它们存在? [复制]【英文标题】:How can I prevent unicode characters like this Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝ on my site and why do they exist? [duplicate]如何防止这样的 unicode 字符Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝ 在我的网站上,为什么它们存在? [复制] 【发布时间】:2020-01-16 13:22:55 【问题描述】:

如何防止在我的网站上出现这样的字符:

Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝

他们真的很烦人。 ḧ̶̡̡̢͙͚̝̖͙͓̝̘̯̜̗͙̩͎̻̥̩͈͈͈̘̰͇̞͇͇̦̼̺̙͔̿͌̅͊̌̋̽̔̇̈̆̽̇͘͘͜͝͝ḧ̶̡̡̢͙͚̝̖͙͓̝̘̯̜̗͙̩͎̻̥̩͈͈͈̘̰͇̞͇͇̦̼̺̙͔̿͌̅͊̌̋̽̔̇̈̆̽̇͘͘͜͝͝a̶̻͐̔̍͆̆̓̿͋͊̽͝

【问题讨论】:

如果您的网站上有它们,那么有人将它们放在那里。如果您允许某人向您的网站添加内容,则需要输入卫生 我的网站上没有它们,我在另一个网站上注意到了它们。如何消毒? 这可能也值得一看:***.com/questions/10414864/… 如何防止像这样的Unicode字符ả̴̢̦̙̬̯̖̟̟̬̻̣̩͕͍̦͍̮̠̤͇̿̾͋̾̔̐̓̾̐̉͒̅͛̈̇͋͋̔̕͘͝͝͝在我的网站 i> span> 【参考方案1】:

替换所需range(s)之外的所有Unicode字符。

$annoying_string = 'Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝foobar̤͇';

$cleaned_string = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $annoying_string);

echo $cleaned_string; // AAAfoobar

【讨论】:

以上是关于如何防止这样的 unicode 字符Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝ 在我的网站上,为啥它们存在? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

这些角色是啥鬼?

json_encode如何防止汉字转义成unicode

IOS - Unicode Unsign

如何打开/ Python中转换CSV这样的字符串不是Unicode?

warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

如何将unicode字符转换成汉字?