mysql使用unhex函数查询的是中文,C#输出后变成了base64字符串。
查询语句 select unhex(e7a7a6e6a5bc) ,输出 (秦楼),在C# 输出后变为(56em5qW8)
查询语句 select unhex(e7a7a6e6a5bc) ,输出 (秦楼),在C# 输出后变为(56em5qW8)
MySQL 中的 UNHEX 函数可以将十六进制字符串转换为二进制字符串。如果查询的字符串是中文的话,需要先使用 HEX 函数将其转换为十六进制字符串,再使用 UNHEX 函数将其转换回中文。
请注意,UNHEX 函数适用于存储二进制数据的字段上,并不适用于普通字符串字段上,如果要使用需要指定字符集为 binary, 请先按照这样的语句建立字段:
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`binary_data` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`id`)
);
这个例子里建立了一个名为 "test" 的表,里面有一个 "binary_data" 字段,用来存储二进制数据。
C语言中没有unhex这个函数,需要使用C语言提供的API来进行转换,如sscanf()函数。