在项目中数据库用的字符集是GBK,存储非常用中文字符(如繁体字、生僻字等)时,会变成??字符
一.可以采用以下方法来存储:
1. 使用 Unicode 字符集:
在创建数据库时,选择合适的 Unicode 字符集(如 AL32UTF8)来支持非常用中文字符。Unicode 字符集能够覆盖几乎所有的字符,包括非常用中文字符。确保数据库和相关表列的字符集设置正确。
2. 使用 VARCHAR2 或 NVARCHAR2 数据类型:
VARCHAR2 和 NVARCHAR2 是用于存储字符数据的常用数据类型。当存储非常用中文字符时,确保所选的数据类型能够支持所需的字符集,并能够容纳你要存储的字符长度。
- 如果使用 VARCHAR2 数据类型,请确保数据库字符集是 Unicode,并且所选数据类型的长度足够存储你要存储的字符数据。例如,如果要存储繁体字,确保 VARCHAR2 字段的长度能够容纳繁体字的字符数。
- 如果使用 NVARCHAR2 数据类型,则无需担心字符集问题。NVARCHAR2 数据类型使用 Unicode 字符集,可以直接存储非常用中文字符。
二.查询:
SELECT my_column FROM my_table WHERE my_column = N'非常用中文'; -- 注意 N 前缀表示查询中的字符串使用 Unicode 字符集编码