我在数据库上有一个奇怪的字符串看起来像这样
"இரண்டு வருடங்கள்"
在浏览器上它正确显示如下
"இரண்டு வருடங்கள்" (this is the correct way)
问题是我无法在数据库上正确搜索短语,因为它以一种奇怪的方式存储。如何转换为像“இரண்டு வருடங்கள்”这样的正确 unicode 并存储?
//数据库字段正确设置为NVarchar,如果我直接存储正确的值,它会保持在数据库中,所以问题不存在。
我需要找到一种方法将源字符串从奇怪的 unicode 格式正确转换为正确的 Unicode 并存储在数据库中。
注意:我已经尝试过这些指南,但没有奏效。
C# 将字符串从 UTF-8 转换为 ISO-8859-1 (Latin1) H
我的插入代码如下所示:
string insertSql = @"INSERT INTO Importer (Heading, Url) VALUES (@0, @1)";
using (SqlCommand insertCmd = new SqlCommand(insertSql, con))
{
insertCmd.Parameters.AddWithValue("@0", heading);
insertCmd.Parameters.AddWithValue("@1", url);
insertCmd.ExecuteNonQuery();
}
字段声明为:
[Heading] [nvarchar](500) NULL
数据库不是问题,我尝试插入正确的字符串并将其存储。唯一的问题是,奇怪的 Unicode 字符串是这样存储的,但是当在浏览器上查看时,它会正确显示。
您可以尝试将字符串复制到 html 文件并在浏览器上查看。它会正确显示,但是当您查看源代码时,它会以错误的奇怪方式显示。
尝试使用此内容创建一个 html 文件,然后在浏览器上查看并查看源代码。
"இரண்டு வருடங்கள்"