-1

我有这个 asp.net 项目,我想以不同的语言(希伯来语)从用户那里接收数据。就此而言,我了解使用希伯来字符需要 utf-8 编码。

我需要获取数据(发布方法)并将其存储到我的数据库中。我如何做到这一点而不冒获得“????????????”的风险 字符串而不是数据?

提前致谢!

4

1 回答 1

1

就此而言,我了解使用希伯来字符需要 utf-8 编码。

不,不是特别。它需要支持 Unicode 的东西(或者至少,这是最简单的工作方式),但您不需要自己执行编码。

你有两个潜在的问题:

  • 从请求中正确获取数据
  • 将其正确传播到数据库

分别处理它们。后一项任务应该很容易——只要您确保您的数据库设置为支持 Unicode,您就应该能够使用nvarchar字段并将值作为字符串传播。您不应该尝试自己对其进行编码。

我建议您首先使用一个小型控制台应用程序,指定一个带有一些希伯来语文本的字符串文字(也许使用\uxxxx转义来绝对确保您正确获取了数据)。插入它,然后取回它,逐个字符地转储字符串,转换每个字符int以确保您看到实际的 Unicode 值。

一旦您对数据库部分有信心,您就可以在 Web 应用程序部分上工作。如果它最初不起作用,请记录您收到的所有数据,再次确保将每个数据记录char为一个整数,这样您就可以准确地看到您所获得的内容,而不会有任何日志编码错误的风险。

于 2013-05-23T12:59:51.987 回答