ドライバーが文字列パラメーターを Unicode 形式でサーバーに送信するかどうかを示す ブール 値を設定します。
構文
public void setSendStringParametersAsUnicode(boolean sendStringParametersAsUnicode)
パラメーター
sendStringParametersAsUnicode
ドライバーが Unicode 形式でサーバーに文字列パラメーターを送信する場合は true。 それ以外の場合は、 falseです。
解説
sendStringParametersAsUnicode プロパティが true (既定値) に設定されている場合、ドライバーは、SQL Server の内部 NCHAR/NVARCHAR ストレージ形式に一致する UTF-16LE (UTF-16 リトル エンディアン) エンコードでサーバーに文字列パラメーターを送信します。 ドライバーは、サーバーに送信する前に、CHAR、VARCHAR、および LONGVARCHAR 型をそれぞれ NCHAR、NVARCHAR、LONGNVARCHAR に変換します。
sendStringParametersAsUnicode が false に設定されている場合、ドライバーはデータベースの照合順序固有の MBCS (マルチバイト文字セット) エンコードで文字列パラメーターを送信します。 使用される特定のコード ページは、ターゲット データベースまたは列の照合順序によって異なります。 これは ASCII (7 ビットのみ) ではなく、照合順序で定義された完全な文字エンコードです。
sendStringParametersAsUnicode を設定しない場合、getSendStringParametersAsUnicode は既定値の true を返します。
注
この値を変更すると、データベースからの結果の並べ替えに影響する可能性があります。 並べ替えの違いは、Unicode と Unicode 以外の文字の並べ替え規則が異なるためです。 VARCHAR/CHAR 列の場合、これを false に設定すると、サーバーでの暗黙的な変換オーバーヘッドが回避されます。
sendStringParametersAsUnicode 接続プロパティについて詳しくは、「接続プロパティの設定」をご覧ください。 SQL Server の Unicode サポートの詳細については、「 照合順序と Unicode のサポート」を参照してください。