我正在从拥有其他国家用户的网站上工作。大多数情况下,我们会获得英文文本,但有时候人们会使用特殊字符(如中文符号或带有口音的E)。这些符号显示为“?”当在网站上显示时。从外国用户输入的字符显示为?
该网站有一个UTF-8字符集声明和SQL Server数据库字段是Nvarchar。我通过谷歌翻译做了测试,并将它翻译成日语“早上好”。当我将生成的汉字复制到我的网站并自己保存时,它工作正常。
什么可能导致此问题?我猜这是因为文本输入的字符集不是UTF-8。 Will accept-charset =“UTF-8”可以解决问题吗?如果不是我能做什么?即使没有办法修复现有的不良数据,我可以在将来避免这个问题吗?
http://www.joelonsoftware.com/articles/Unicode.html – leonbloy
为参照非英语用户称为“外国用户”,“来自其他国家”,而非ascci字符作为“特殊”则相当以英语为中心。 – leonbloy
我看过那篇文章。它似乎没有帮助我。我在我的帖子中指定我使用的字符集声明和nvarchar字段都是unicode。如果您从该页面拿走了一些有用的信息,请告诉我。此外,您可能对“特殊”字符是正确的,但由于该网站在美国托管,“外国用户”是一个合适的术语和重要的区别,因为从我的电脑输入的非英文字符工作正常。 – William