首页 > 数据库 >linux/docker 版 Sql Server新建的数据库插入中文乱码问题解决方案

linux/docker 版 Sql Server新建的数据库插入中文乱码问题解决方案

时间:2023-11-09 10:45:13浏览次数:40  
标签:Gxfwb PRC 创建 数据库 Server 乱码 linux IStrong

SqlServer 插入遇到乱码

image.png

原因:在英文系统中,SqlServer默认排序规则为英文字典顺序

解决方案一:容器版 Sql Server ,在创建容器时,可以加上环境变量-e MSSQL_COLLATION=Chinese_PRC_CI_AS -e TZ=Asia/Shanghai 把排序规则设为中文字典顺序并忽略大小写区分重音,时区设置为上海,不然getdate()会比北京时间晚 8 小时。
容器已经创建的,可以把删除容器再重新创建,数据不会丢。 已经 创建的数据库,可以手动修改排序规则或导出脚本批量修改后再导入

解决方案二:可以在创建数据库的时候指定排序规则

采用命令创建数据库,则在日志文件后面加上collate Chinese_PRC_CI_AS

CREATE DATABASE [IStrong_Gxfwb]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'IStrong_Gxfwb', FILENAME = N'/var/opt/mssql/data/IStrong_Gxfwb.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'IStrong_Gxfwb_log', FILENAME = N'/var/opt/mssql/data/IStrong_Gxfwb_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
collate Chinese_PRC_CI_AS
GO

 


采用图形界面创建数据库,则在添加时修改为指定排序规则

image.png

如果数据库与表已经创建好了,发现是乱码,可以先导出库表结构脚本,手动在建库脚本的最后加入collate Chinese_PRC_CI_AS再执行脚本即可

   

标签:Gxfwb,PRC,创建,数据库,Server,乱码,linux,IStrong
From: https://www.cnblogs.com/privateLogs/p/17819185.html

相关文章

  • 高版本SqlServer数据库还原到低版本数据库
    需求:SqlServer2017还原到SqlServer2008数据库直接备份还原与拷贝文件还原均无法成功解决方案:1、修改兼容性,再备份数据库,还原(推荐)2、导出脚本、导入(即数据同步),大数据量不建议使用该方法......
  • Kali Linux 2020.1 修改系统语言
    目录一.背景信息二.操作步骤三.相关总结一.背景信息在安装完kalilinux2020.1时,其操作系统默认语言为英文的,我们操作起来比较麻烦,为了以后操作方便起见,这边将其操作系统默认语言更改为中文。本篇文章将带领各位小伙伴们一起去将操作系统默认语言更改为中文二.操作步骤打开Term......
  • Linux文件编程(lseek函数和stat函数)
    (文章目录)前言本篇文章来讲解lseek函数和stat函数,lseek函数主要用来设置文件偏移量,stat函数主要用来获取文件属性。一、lseek函数lseek函数用于在打开的文件中移动文件指针的位置。它可以用于设置文件的读写位置或查找特定位置的数据。函数原型如下:#include<unistd.h>o......
  • Linux文件管理知识:文本处理
    上篇文章详细介绍了Linux系统中查找文件的工具或者命令程序的相关操作内容介绍。那么,今天呢,这篇文章围绕Linux系统中文本处理来阐述。 众所周知,所有Linux操作系统都离不开一个核心原则,那就是它是由很多种文件组成的,那么,Linux系统的任何操作就离不开文本文件的处理。所以,它有很......
  • Java获取Windows或Linux下的IP地址
    Java获取Linux或Windows下的IP地址,详情如下importlombok.extern.slf4j.Slf4j;importjava.net.InetAddress;importjava.net.NetworkInterface;importjava.net.SocketException;importjava.net.UnknownHostException;importjava.util.Enumeration;@Slf4jpubli......
  • linux 查看端口占用
    第一步:查询端口占用情况,命令如下;netstat-ntlp|grep80 第二步:杀死该端口进程 (如果是nginx服务自身占用端口,先停止在重启)杀死端口命令:kill-9进程号 ......
  • Windows Server 2012/2016关闭自动更新(cmd命令方法)
    WindowsServer2012/2016关闭自动更新(cmd命令方法)使用场景:  WindowsServer中,默认开启自动更新,但服务器系统在正常运行时,常会受到更新干扰,更新系统后偶尔发现有些功能会出现异常,所以需要禁止自动更新,改为手动更新。步骤1:进入cmd,之后输入sconfig回车 S步骤2:输入5选......
  • linux 使用crontab 创建定时任务
    转载请注明出处:在服务器中需要创建一个定时任务,每天执行去清理很早之前备份的文件,所以想到在linux上创建一个shell脚本,通过linux的crontab命令定时去执行该shell脚本,从而实现定时清理服务器文件。crontab是Linux系统中用于调度任务的命令,它允许用户在固定的间隔时间执......
  • Kubernetes: kube-apiserver 之认证
    kubernetes:kube-apiserver系列文章:Kubernetes:kube-apiserver之scheme(一)Kubernetes:kube-apiserver之scheme(二)Kubernetes:kube-apiserver之启动流程(一)Kubernetes:kube-apiserver之启动流程(二)Kubernetes:kube-apiserver和etcd的交互0.前言kube-apis......
  • Linux 下最主流的文件系统格式——ext
    硬盘分成相同大小的单元,我们称为块(Block)。一块的大小是扇区大小的整数倍,默认是4K。在格式化的时候,这个值是可以设定的。一大块硬盘被分成了一个个小的块,用来存放文件的数据部分。这样一来,如果我们像存放一个文件,就不用给他分配一块连续的空间了。我们可以分散成一个个小块进行存放......