【发布时间】:2015-07-28 09:07:41
【问题描述】:
我们在英国网站上有一个“联系我们”表格,该表格会生成一封电子邮件。来自欧洲国家的一些用户正在输入公司名称,例如“Törner”和“Ómicron”,并且网站正在正确处理这些字符。像“João”这样的名字可以毫无问题地使用。
有时,我们会得到一个人的名字,或者看起来很疯狂的公司名称:
KovovÃÆ'ƒÆ’ÃÆ'†â€™ÃÆ'ƒâ€ ÃÆ'¢â‚¬â„¢ÃÆ'ƒÆ’€ ÃÆ'ƒÂ¢ÃÆ'¢â€šÂ¬ÃÆ'¢â₠¬Ã…¾Ã‚¢ÃÆ'Į €€ÆÆ’  ’ÃÆ'ƒÂ¢ÃÆ'¢â€šÂ ¬ÃƒÆ'…¡ÃÆ'ƒÆ’ÃÆ'¢â€šÂ¬Ã…¡ÃÆ'ĉۈ …¡ÃÆ'‚½roba 纳瓦兰尼
幸运的是,此人进行了第二次询问,这次文字只是:
科沃维罗巴·纳瓦兰尼
Google 透露在索尔瓦克有一个地方叫 Kovovýroba Navalaný。如果我尝试将其粘贴到我们的网站中,它可以正常工作。另一个问题来自德国,一个变音符号变成了数百个奇怪的字符。同样,我自己的测试没有问题。
我的问题是:如何重新创建似乎将单个字符气球变成 486 个乱码字符的输入?一旦我自己可以导致错误,我可以在我的代码中找到该位置我处理文本不好的地方。我已经粘贴了最狂野、最奇怪的土耳其语、俄语和中文字符,没有遇到任何问题。
【问题讨论】:
-
这通常不应该发生,除非你正在做一些在某些情况下可能会出现问题的时髦字符处理。我知道没有可能导致这种怪异的标准流程。
-
不做任何时髦的处理。奇怪的是,各种各样的口音、变音符号和非英语字母字母可以完好无损地保存下来……但是一两个客户能够输入除此之外的东西,这太疯狂了。
-
我无法通过 escapeHTML 和编码解决。我也需要解决方案。
标签: html utf-8 internationalization