如果我直接用 unicode 字符调用我的 sproc,我可以在表中看到这些 unicode 字符。我可以从表中读取 unicode 字符。
在我的应用程序中,我可以调试代码并查看整个应用程序中的数据是 unicode。最后三行是:
query = String.format("EXEC prcLibhashRefreshLog_i @Requester=\'%s\', @Libhash=\'%s\', @Product=\'%s\', @Reason=\'%s\'", user, libHash, service, reason);
我可以在调试器中看到“查询”中的数据仍然是 unicode。这里一切都很好。我可以将“查询”输出到页面,它是 unicode。
SQLStmt = DBConn.createStatement();
SQLStmt.execute(query);
经过这一步后,数据库中的数据为“????????????”。我知道它不是 SQL Server,我知道它不是存储过程,我知道它不是数据。我该如何解决?
编辑:我忘记了字符串之前的“N”。我怎么这么傻。。