C# 将希伯来语写入数据库,文本从左到右写入,例如 olleh 不是 hello

发布于 2024-08-27 02:10:32 字数 245 浏览 9 评论 0原文

将希伯来语写入数据库时​​,文本应该从右到左写入,而应从右到左写入,因为希伯来语是从右到左写入,我的应用程序正在写“hello”,它应该写“olleh”(当然是希伯来语) )。

要将希伯来语读入我的应用程序,我使用 System.Text.Encoding.GetEncoding(1255);

文本在我的应用程序中显示正确,但写入数据库时​​,它是从左到右写入的。我的问题是,将文本写入数据库时​​缺少什么?

非常感谢 乔纳森

When writing Hebrew to a database the text is being written left to right when it should be right to left, as Hebrew is written right to left, my app is writing "hello" and it should be writing "olleh" (in Hebrew of course).

To read the Hebrew into my app I use System.Text.Encoding.GetEncoding(1255);

The text displays correctly in my app but when written to the database it is written left to right. My question is what am I missing when writing the text to the db?

Many thanks
Jonathan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

放赐 2024-09-03 02:10:32

代码页 1255 按逻辑顺序而非视觉顺序对文本进行编码。既然您说它在您的应用程序中正确显示,但在数据库中则不然,最可能的解释是数据库工具在您交互查询时不支持双向文本。这并不重要,因为用户不直接查询数据库。您的应用程序会执行此操作,然后正确显示双向文本。

Codepage 1255 encodes the text in logical, not visual order. Since you said it displays correctly in your app but not in your database, the most likely explanation is that the database tool does not support bidirectional text when you query it interactively. That does not matter, since the users don't directly query the database. Your app does, and then properly displays the bidirectional text.

最好是你 2024-09-03 02:10:32

您的数据库是否设置了从右到左的排序顺序/排序规则?例如,SQL Server 排序顺序 138 = 字典顺序,不区分大小写,用于 1255(希伯来语)字符集。

Is your database set up with a sort order/collation that is right-to-left? For example, SQL Server sort order 138 = Dictionary order, case-insensitive, for use with the 1255 (Hebrew) character set.

幻梦 2024-09-03 02:10:32

尝试使用这种编码
编码.UTF8;
Encoding.GetEncoding("iso-8859-8");

Try with this encoding
Encoding.UTF8;
Encoding.GetEncoding("iso-8859-8");

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文