关于在 SQL Server 2008 R2 中插入字符串的问题,我有一个疑问。当我尝试插入带有某些国家字母的字符串时,我收到的是“?”。
我知道在字符串文字开头添加N
将解决此问题,但我正在使用 JDBC 准备好的语句,就像这样:
INSERT INTO MyTable(col1, col2) VALUES (?,?);
我的问题是:我应该如何添加这个“N”字母?我需要做类似于这样的操作吗?
INSERT INTO MyTable(col1, col2) VALUES (N?,N?);
说实话,我并不信服,因为这根本没有任何作用。
N
前缀不应该是必需的。检查你的Java源文件的编码,确保它保存为UTF-8,以便其中包含的任何字符串字面量都能被正确解释。 - Gord ThompsonsendStringParametersAsUnicode
方法吗?https://msdn.microsoft.com/zh-cn/library/ms378403.aspx - gofr1N
前缀。使用PreparedStatement.setNString()
(而不是setString()
)应该可以正常工作。 - user330315