web-dev-qa-db-ja.com

テーブルに特殊文字を挿入する

いくつかの文字が?に置き換えられています。テーブルに元のキャラクターをどのように保持しますか?挿入しようとしている文字はɬです。ベルト付きラテン小文字L。このキャラクターをテーブルに追加することは可能ですか?

3
kevorski

次のいずれかである限り、その文字を追加することが可能です。

  1. 宛先列はNCHAR/NVARCHAR/XMLNTEXTでも機能しますが、SQL Server 2005のリリース以降は非推奨となっているため、使用しないでください。それ)、

    OR

  2. 宛先列はCHAR/VARCHARおよび列の照合順序は、文字をサポートするコードページを使用します( s)問題です。

したがって、次のことを必ず行ってください。

  1. 文字列の前にNを付けます(現在のデータベースのデフォルトの照合が文字をサポートするコードページを使用する場合は不要ですが、データベースのデフォルトの照合をこの問題の原因となる要因から削除するのに役立ちます-理由つまり、現在のDBのデフォルトの照合順序が文字をサポートしないコードページを使用している場合、「最適な」一致、または最適な一致が見つからない場合は?に変換されます。変数または文字列リテラルに保持されています)。
  2. 同じ行に沿って、これがパラメーターおよびを介してストアドプロシージャまたはパラメーター化されたクエリバッチに送信される場合、パラメーターのタイプはCHARです。またはVARCHARの場合、現在のデータベースのデフォルトの照合では、文字をサポートするコードページを使用しないため、パラメータデータ型としてNVARCHAR/NCHARを使用するように切り替えます。
  3. 宛先列がVARCHAR/CHARの場合、列の照合順序がその文字をサポートするコードページを使用していることを確認してください。
  4. 宛先列がVARCHAR/CHARであり、問​​題の文字をサポートするコードページを使用する照合が見つからない場合は、列をNVARCHAR/NCHARなので、任意の文字を格納できます。 (これはO.Pで機能したものです)

照合の操作の詳細については、次のWebサイトをご覧ください Collat​​ions.info

5
Solomon Rutzky