我有这个 asp.net 项目,我想以不同的语言(希伯来语)从用户那里接收数据。就此而言,我了解使用希伯来字符需要 utf-8 编码。
我需要获取数据(发布方法)并将其存储到我的数据库中。我如何做到这一点而不冒获得“????????????”的风险 字符串而不是数据?
提前致谢!
就此而言,我了解使用希伯来字符需要 utf-8 编码。
不,不是特别。它需要支持 Unicode 的东西(或者至少,这是最简单的工作方式),但您不需要自己执行编码。
你有两个潜在的问题:
分别处理它们。后一项任务应该很容易——只要您确保您的数据库设置为支持 Unicode,您就应该能够使用nvarchar
字段并将值作为字符串传播。您不应该尝试自己对其进行编码。
我建议您首先使用一个小型控制台应用程序,指定一个带有一些希伯来语文本的字符串文字(也许使用\uxxxx
转义来绝对确保您正确获取了数据)。插入它,然后取回它,逐个字符地转储字符串,转换每个字符int
以确保您看到实际的 Unicode 值。
一旦您对数据库部分有信心,您就可以在 Web 应用程序部分上工作。如果它最初不起作用,请记录您收到的所有数据,再次确保将每个数据记录char
为一个整数,这样您就可以准确地看到您所获得的内容,而不会有任何日志编码错误的风险。