我通过Razor生成网页,有时浏览器会显示问号而不是一个随机的unicode字符。
例如:
我认为,这个问号显示在一个tcp包中的双字节unicode字符的第一个字节和另一个tcp-package中字符的第二个字节的位置。但是为什么浏览器不能正确粘贴它们呢?
所有由utf-8编码的文件。有<meta charset="utf-8">
。
更新
问号取决于页面内容。如果我在问号之前更改内容,它可能会消失或移动到其他地方(替换其他字符)
答案 0 :(得分:0)
使用UTF-8编码方案对字符进行编码并不是您在使用编码时应该考虑的唯一事项。字体系列在这个方面起着很大的作用,可以为所有角色渲染正确的图形;毕竟字符只是图形绘制的字形。 Unicode负责处理字符的所有字节(大小为1,2,3,4),并在屏幕上显示正确的字符;如果您的框架或font-family支持字形。
在您的网站中,font-family;可能是自定义加载,不支持此字符(或代码页更具体),这就是为什么浏览器必须回退才能显示问号。您还要说该字符是随机选择的,因此定义问题,因为它是基于字体系列的问题。我建议您在'Segoe UI'
font-family中试用您的应用程序,看看是否有效;因为那可能会奏效。
除了我的建议,请确保font-family支持该字符所在的代码页。否则,它将显示一个问号。