关于sql服务器存储印地语管理devnagari字体的问题.当我尝试插入值时,它显示方形框
本文关键字:插入 方形框 显示 印地语 存储 服务器 sql 管理 devnagari 问题 字体 | 更新日期: 2023-09-27 18:02:10
我正在使用NLP(自然语言处理)模块。为此,我需要在SQL Server 2005表中存储印地语字符。为此,我使用c#作为前端编程。
首先,我需要知道SQL Server是否在表中存储印地语字符。因此,我直接使用c#尝试使用插入查询将印地语字符存储到表中,但它在数据库中存储方形框。
我正在使用Mangal devnagri字体的印地语字体。
表列的数据类型为nvarchar(50)。排序是默认的,即。"SQL_Latin_General_……"。我已经尝试了太多的谷歌从许多天,但我不能找到一个满意的帮助。
我假设您在SQL Server Management Studio中看到了方框。这可能是由于在那里显示时使用了错误的字体,而不一定是存储数据的问题。
当您从应用程序中查询DB并读取值时,您应该得到正确的unicode表示形式,这样就不会丢失任何信息。
确保您在参数化查询中作为nvarchar
传递数据(如果您传递文字字符串,请使用"N"作为前缀,例如:SET @s = N'My String'
)。
您必须使用另一种排序方式。尝试为印地语字符指定一个。如果找不到可用的,请使用通用的unicode/utf-8格式。我没有使用MSSQL,所以你必须自己找到正确的设置(或者等待另一个回复)。对于mySQL,我会使用
utf8_general_ci
排序。将排序规则设置为"latin"本质上意味着它将能够容纳标准拉丁字符(例如A-Z)以及一些变体,如ä, ó或û,但它很可能无法接受许多非拉丁字符。