当前位置:  开发笔记 > 编程语言 > 正文

符号显示不正确

如何解决《符号显示不正确》经验,为你挑选了3个好方法。

符号是:ؤ

这个符号有什么特别之处,它来自哪里?

可以采取哪些措施来验证此类输入?或者甚至更好,这些符号如何正确显示(即不让它们与其他元素重叠)?



1> rekire..:

好吧,因为它似乎并不像我想象的那样微不足道,这是我的答案.

这称为组合变音符号.

举个例子,你可以ä直接写一个或者以"ä"结果.

现在你可以搞砸这样的标志:"ä̈̈̈̈̈̈",我输入了: ä̈̈̈̈̈̈

为了保护自己免受这种"unicode"攻击,你可以限制允许相互跟随的unicode字符的数量.我不能给你一个确切的例子,因为你的标签没有提供有关你的服务器端语言的提示.如果您有一个简单的英文网站,您可能会尝试将其限制为ascii chars.但是我不推荐这个,因为我不允许用我的名字签名:-)

我只会将Unicode字符的数量限制在彼此之后.这可能是用正则表达式完成的.

如果您只是想避免Unicode字符"突破"其容器尝试使用,这似乎限制了它的呈现方式.


之前我没有意识到这在其他浏览器中的显示方式不同.如果Rahul Tripathi是对的并且这个特殊的字符是阿拉伯字母(我没有投资来检查这个特殊字符),我可以想象一些浏览器/操作系统没有安装阿拉伯字符的支持,所以我猜在这种情况下它是一个错误或缺少支持.
@rekire,就像一个魅力.我想你可以在答案中加入.我已回滚您对问题的更改,以允许其他人查看问题.非常感谢您的回答,非常感谢.

2> Rahul Tripat..:

我只是将符号复制到SQL Server和Visual Studio,发现符号已转换为

在此输入图像描述

所以它看起来像浏览器无法识别的?(看起来像阿拉伯符号)符号的组合.

符号是阿拉伯语Hamza符号.

IE也正确解释了相同的符号.

在此输入图像描述

所以看起来有些浏览器无法识别符号.

编辑:

要验证此类输入通常您可以使用某种排序验证(比如使用户只能输入ASCII字符)使用Javascript或PHP等语言,您可以通过这些语言限制用户根据您的选择输入字符.

或者甚至更好,如何正确显示这些符号

如果浏览器无法将符号渲染为您显示的符号,那么作为一种解决方法,您可以对这些字符设置一些限制,例如将它们放在div中,overflow:auto但这不是一个好的解决方案.更好的方法是使用验证脚本.



3> Sachin..:

奇怪的是,在屏幕上你只会看到一个字符后跟一条从无处绘制的线条.

但是当用chrome检查时,它实际上是第一个字符的字符Unicode 1572,后面跟着161个字符画线Unicode 1618!之后就是Unicode (or ASCII code) 32空间.


ASCII与Uni​​code与十进制与十六进制无关.ASCII是一个7位字符集,因此最大的代码点是127; 没有"ASCII代码"(代码点)1572.您正在谈论另一个字符集Unicode,因此术语"ASCII"不正确.
推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有