如何防止这样的 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 字符Ả̴̢̦̙̬̲̯̖̲̟̟̬̲̻̣̩͕͍̦͍̮̠̤͇̿́̾͋́̾̎̔̐̓̾̐̉͒̅͛̈́̀̇͋͋̔̕͘͝͝͝ 在我的网站上,为啥它们存在? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何打开/ Python中转换CSV这样的字符串不是Unicode?
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失