Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# sql char和varchar数据类型中不支持哪些字符_C#_Mysql_Sql - Fatal编程技术网

C# sql char和varchar数据类型中不支持哪些字符

C# sql char和varchar数据类型中不支持哪些字符,c#,mysql,sql,C#,Mysql,Sql,我在表中使用了name列。在该列中,我使用varchar作为sql中的数据类型。除了英语之外,我还像其他语言一样更新了查询,但sql将这些字符存储为“?”。 例如: 表:学生 列:名称(varchar(50)),id号 查询:updatestudent set name='0தமிழ்' 其中id=10 答: 请说明如何避免。请说出sql varchar数据类型存储的字符是什么?要能够以您的语言存储文本,您必须使用支持UNICODE的nchar或nvarchar数据类型 见: 不要忘记使用正确的

我在表中使用了name列。在该列中,我使用varchar作为sql中的数据类型。除了英语之外,我还像其他语言一样更新了查询,但sql将这些字符存储为“?”。 例如:

表:学生

列:名称(varchar(50)),id号

查询:
updatestudent set name='0தமிழ்' 其中id=10

答:


请说明如何避免。请说出sql varchar数据类型存储的字符是什么?

要能够以您的语言存储文本,您必须使用支持UNICODE的
nchar
nvarchar
数据类型

见:

不要忘记使用正确的排序规则

见:

因此,列
name(varchar(50))
应该是
name(nvarchar(50))
,然后

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

为了能够以您的语言存储文本,您必须使用支持UNICODE的
nchar
nvarchar
数据类型

见:

不要忘记使用正确的排序规则

见:

因此,列
name(varchar(50))
应该是
name(nvarchar(50))
,然后

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

我认为这完全取决于数据库字符集的配置。@nyrguds,部分正确。它取决于用于存储数据的数据类型。请看我的答案。但是没有给出数据库访问方式的信息。如果实际使用参数对象,许多DB访问系统会自动确定类型。为了避免“小鲍比桌子”之类的问题,应该经常这样做。我认为这完全取决于数据库字符集的配置。@nyrguds,部分正确。它取决于用于存储数据的数据类型。请看我的答案。但是没有给出数据库访问方式的信息。如果实际使用参数对象,许多DB访问系统会自动确定类型。为了避免“小鲍比桌子”之类的问题,应该经常这样做。谢谢你的建议。我明白了。谢谢你的建议。我得到了它。