我有一个班级管理系统的代码。
来自网络浏览器
Case 1: 101عرب-2
但在我的mssql db中,这实际上是
Case 2: عرب-2#d#101 (remove #d#)
我不确定它是如何存储的, 但至少,SQL Manager向我展示了这一点。 该代码的英文版本是
101ARB-2
如何显示案例2的代码,而不是案例1?
的加入:
由于以上数据来自我的客户,所以我不太确定 但我坚信插入陈述就像案例2
Insert tbl(code) values (N'عرب-2#d#101')
再次,当您阅读此页面中的代码时,请删除#d#
我甚至不知道如何输入类似案例2. :(
如果你没有得到我,只需尝试复制案例2并删除#s。
的加入:
我添加了真实案例2的图像。
答案 0 :(得分:1)
通常,为了控制双向文本的显示方式,您需要使用方向控制字符:
但是,由于您提到了网页,因此使用<bdo>
元素来控制文本行为可能是有意义的。
无论您想使用哪种解决方案,都更像是本地化问题。
要了解有关阿拉伯语本地化的更多信息,请参阅以下W3C文章:
答案 1 :(得分:0)
这与collate有关,如果要存储本机语言字符,请将db列定义为nvarchar,nchar数据类型。然后插入前缀字母N'你的值'。这将存储与本机文本相同的值。
插入表值(N'101عرب-2')