非英语键盘上的字符是否编码不同,可能不是有效的xml?

非英语键盘上的字符是否编码不同,可能不是有效的xml?,xml,Xml,我有一个传统的应用程序,其中来自不同国家的人填写Q&a并将其发送到我们的服务器。一旦它进入我们的服务器,所有内容都将转换为XML,以便能够轻松地在服务器之间传递。我从一些非英语国家的用户那里得到报告说,他们正在上传的内容没有通过服务器,翻看日志文件,似乎对给出的答案感到窒息 我让他们截取他们试图提交的答案的屏幕截图,认为非英语字符是无效的XML字符,但屏幕截图中的所有内容看起来都像普通字符字母数字、:和。大部分 更奇怪的是,我已经用我的英文键盘和他们一样的答案上传了表格,没有遇到任何错误 尽管视

我有一个传统的应用程序,其中来自不同国家的人填写Q&a并将其发送到我们的服务器。一旦它进入我们的服务器,所有内容都将转换为XML,以便能够轻松地在服务器之间传递。我从一些非英语国家的用户那里得到报告说,他们正在上传的内容没有通过服务器,翻看日志文件,似乎对给出的答案感到窒息

我让他们截取他们试图提交的答案的屏幕截图,认为非英语字符是无效的XML字符,但屏幕截图中的所有内容看起来都像普通字符字母数字、:和。大部分

更奇怪的是,我已经用我的英文键盘和他们一样的答案上传了表格,没有遇到任何错误


尽管视觉表示看起来像普通的ASCII字符,但由于它们是在非英语键盘上键入的,因此它们的编码可能会有所不同并导致问题吗?

XML通常是UTF-8编码的,也许您的代码没有考虑到这一点?如果UTF在标记名中,这是特定于实现的。如果UTF是一个标签之间的值(听起来像是这样),那么它应该是好的


如果键盘来自拉丁语/日耳曼语,则ABC和重音将与ASCII匹配。如果您有另一种语言具有类似的ABC字形,例如俄语w/Cyrillic,则它们的编码不同,因为它们可能不代表拉丁语/日耳曼语用户所知道的发音。日文和中文甚至在unicode表中有自己的拉丁子集,这些子集不是ASCII,有时很容易发现,因为它通常是固定的宽度或不熟悉/不干净的字体。这些将导致常规字符串比较失败。我相信有些脚本语言(如PHP)具有将各种unicode字符转换为aSCII等效字符的功能。

您是否在十六进制编辑器而不是文本编辑器中查看了提交内容?它们看起来不同吗?