ubuntu sqlserver 解决中文乱码问题

浪淘沙1年前数据库402

1、检查系统本地化设置

locale

如果发现 LANG 或 LC_ALL 不是中文,如 zh_CN.UTF-8,需要设置正确的本地化。

2、设置系统本地化为中文

编辑 /etc/default/locale 文件,添加以下行

LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"

3、如果数据库的Collocation是英文的,字段是varchar类型,向表中插入中文数据,会出现乱码

f71e8d9bd38252f2bd8d561cd9c62f21.png

CREATE DATABASE MyDBTest(库名) COLLATE Chinese_PRC_CI_AS_WS
或
alter database MyDBTest(库名)  collate Chinese_PRC_CI_AS

参数解释如下:

前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。

排序规则的后半部份即后缀 含义:

  _BIN 二进制排序

  _CI(CS) 是否区分大小写,CI不区分,CS区分

  _AI(AS) 是否区分重音,AI不区分,AS区分   

  _KI(KS) 是否区分假名类型,KI不区分,KS区分 

        _WI(WS) 是否区分宽度WI不区分,WS区分 

区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。

区分重音:如果想让重音和非重音字母视为不等,请选择该选项。如果选择该选项,

比较还将重音不同的字母视为不等。

区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。

区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项


相关文章

Ubuntu 22.04 卸载SQL Server 数据库

1. 删除 mssql-server 的包sudo apt-get remove mssql-server2. 删除数据库文件sudo rm -rf&...

postgresql 删除数据,并且序号恢复从1开始

TRUNCATE TABLE tpl_template_class RESTART IDENTITY; ALTER SEQUENCE ...

postgersql 多表联合查询

select zph_chrq.qyid,zph_chrq.lxdh as phone,qy.qymc from zph_chrq INNER  join qy on zph_chrq.qy...

sqlserver 删除数据,并且序号恢复从1开始

delete from article_author;dbcc checkident('article_author',reseed,0)...

postgresql 日期函数

select distinct(TO_CHAR(rq, 'YYYY-MM-DD')) from fz_rl order by...

PostgreSQL数据库允许其他IP连接到数据库(Windows & Linux)

https://blog.csdn.net/h1773655323/article/details/142454517...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。