2016-03-23 11 views
0

テーブルにnameカラムを使用しました。その列では、sqlのデータ型にvarcharを使用しました。私は英語以外の言語のようにクエリを更新しましたが、SQLはその文字を "?"として保存しました。 例:sql charおよびvarcharデータ型でサポートされていない文字は何ですか。

テーブル:学生

カラム:名(VARCHAR(50))、ID番号

クエリ:update student set name='தமிழ்' where id=10;

ANS:···

避けてください。そして、あなたはUNICODEをサポートncharまたはnvarcharデータ型を使用する必要があり、あなたの言語のテキストを保存することができるようにするに??

+4

私は、データベース・キャラクタ・セットの設定に完全に依存でしょうね。 – Nyerguds

+0

@ニャルグッズ、それは部分的に真です。データを格納するために使用されるデータ型に依存します。私の答えを見てください。 –

+0

DBにアクセスする方法についての情報はありませんでした。実際にパラメーター・オブジェクトを使用する場合、多くのDBアクセス・システムが自動的にタイプを判別します。 「リトル・ボビー・テーブル(Little Bobby Tables)」のような問題を避けるためには常に行うべきことです。 https://xkcd.com/327/ – Nyerguds

答えて

2

のような文字のSQL varcharデータ型の店舗が何であるかと言うてください。

参照:nchar and nvarchar (Transact-SQL)

が適切な照合を使用することを忘れないでください。

参照:Collation and Unicode Support

ので、列name (varchar(50))name (nvarchar(50))する必要があり、その後、

UPDATE Student SET [Name] = N'NameInHindi' WHERE ID =10; 
+0

あなたの正式な提案に感謝します。わかった。 –

関連する問題