ユニコード文字を使用して sproc を直接呼び出すと、それらのユニコード文字が表に表示されます。テーブルから Unicode 文字を読み取ることができます。
私のアプリケーションでは、コードをデバッグして、データがアプリケーション全体で Unicode であることを確認できます。最後の 3 行は次のとおりです。
query = String.format("EXEC prcLibhashRefreshLog_i @Requester=\'%s\', @Libhash=\'%s\', @Product=\'%s\', @Reason=\'%s\'", user, libHash, service, reason);
「クエリ」のデータがまだユニコードであることをデバッガーで確認できます。ここではすべて問題ありません。「クエリ」をページに出力できますが、それはユニコードです。
SQLStmt = DBConn.createStatement();
SQLStmt.execute(query);
このステップの後、データベース内のデータは「???????????」です。SQL Server ではないこと、sproc ではないこと、データではないことはわかっています。これを修正するにはどうすればよいですか?
編集:文字列の前の「N」を忘れました。私はなんてばかだ..