把日语字符写进表格里

本文关键字:表格 日语 字符 | 更新日期: 2023-09-27 18:25:13

当试图将字符串保存到我的DB表中时,它们会被保存为问号。

我已经检查了这个问题(以及更多):为什么sql server在NVarchar字段中存储问号字符而不是日语字符?

不幸的是,对我来说,没有任何结果。我在开始时将排序规则设置为"SQL_Latin1_General_CP1_CI_AS",但后来我将其更改为"Japanese_CI_AS"。仍然没有更改。

我的代码看起来像这样(很抱歉没有真正的代码,它在我的笔记本电脑上):

string query = "INSERT INTO ArticlesTBL (ArticleTitle, ArticleContent, 
ArticleType, ArticleImg, ArticleBrief,  ArticleDateTime, ArticleAuthor, ArticlePublished, ArticleHomeDisplay, ArticleViews)";
query += " VALUES (@ArticleTitle, @ArticleContent, @ArticleType, @ArticleImg, @ArticleBrief, @ArticleDateTime, @ArticleAuthor, @ArticlePublished, @ArticleHomeDisplay, @ArticleViews)";
SqlCommand myCommand = new SqlCommand(query, myConnection);
myCommand.Parameters.AddWithValue("@ArticleTitle", ArticleTitleTextBox.Text);
myCommand.Parameters.AddWithValue("@ArticleContent", ArticleContentTextBox.Text);
// ... other parameters
myCommand.ExecuteNonQuery();

ArticleContent将是包含日语字符的字符串。

我的数据库是在MS SQL Server 2014上创建的,我正在使用Visual Studio 2015编写这个小型应用程序。

把日语字符写进表格里

您必须使用支持nvarchar数据类型的Unicode。根据MSDN:

如果存储的字符数据反映了多种语言,请始终使用Unicode数据类型(nchar、nvarchar和ntext),而不是非Unicode的数据类型(char、varchar和text)。

如果要使用完整的UTF-8代码页,则需要使用nvarchar数据类型。