SqlServer数据库中文乱码问题解决方法

news2024/11/24 12:22:16

这个问题在网上找了很多资料都没找到真正解决问题的办法,最终去了官网,终于找到问题的答案了,整理出来做个记录。

问题描述:

项目中遇到一个问题,sqlserver中的数据是ok的,结果保存到mysql中是乱码,在确认mysql没问题的情况下开始处理sqlserver的编码。

最开始想到的是,和mysql一样,加一下中文utf-8的设置,结果找了很多都没找到,网上大部分url都是直接写ip和端口,后查的官网这么处理:

下载 JDBC 驱动程序

连接 URL 的一般形式为:

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
jdbc:sqlserver://192.168.128.1:1433;DatabaseName=test;useUnicode=true;characterEncoding=utf-8

其中:

  • jdbc:sqlserver://(必需)称为子协议,且为常数 。

  • serverName(可选)是要连接到的服务器的地址 。 此地址可以是 DNS 或 IP 地址,也可以是本地计算机地址 localhost 或 127.0.0.1。 如果未在连接 URL 中指定服务器名称,则必须在属性集中指定。

  • instanceName(可选)是 serverName 上要连接到的实例 。 如果未指定,则会连接到默认实例。

  • portNumber(可选)是 serverName 上要连接到的端口 。 默认值为 1433。 如果使用默认端口,则无需在 URL 中指定端口及其前面的“:”。

 备注

若要获得最佳连接性能,应在连接到指定实例时设置 portNumber。 这将避免为了确定端口号而与服务器进行往返通讯。 如果同时使用 portNumber 和 instanceName,则会优先使用 portNumber,而忽略 instanceName。

  • property(可选)是一个或多个选项连接属性 。 有关详细信息,请参阅设置连接属性。 可指定该列表中的任何属性。 属性只能用分号(“;”)分隔,且不允许重复。需留意,这个分隔符是分号;,mysql是&,这点注意一下。

出于安全考虑,应避免根据用户输入的内容创建连接 URL。 只应在 URL 中指定服务器名称和驱动程序。 对于用户名和密码值,请使用连接属性集。 有关 JDBC 应用程序安全性的详细信息,请参阅保护 JDBC 驱动程序应用程序。

连接示例

使用用户名和密码连接到本地计算机上的默认数据库:

jdbc:sqlserver://localhost;encrypt=true;user=MyUserName;password=*****;

发现这样设置后无效,又继续查看官网信息,发现还需要设置数据库的排序规则:

SQLSERVER默认安装时系统默认的排序规则是拉丁文的排序规则,但一般人在安装时没有考虑到这一点,安装时只是点取下一步,安装完成后,造成了SQL版在使用过程中出现乱码。

解决方法1:

如果是新建数据库,可以在建立数据时指定排序规则,记得选中文简体(Chinese_PRC_CS_AI_WS);如果数据库中已经有数据,则转换 编码会失败

操作步骤

1.右键数据库》属性

2.点击“选项”》修改排序方式

  根据以上操作数据库数据终于正常了,担忧有一点要说一下,如果你以前设置的是默认格式,新设置是Chinese_PRC_CS_AI_WS可能会让你之前的编码变成乱码,这点需留意一下!

 

扩展1:

sqlserver 建库指定utf-8 修改库为utf-8编码

CREATE DATABASE paas COLLATE Chinese_PRC_CI_AS
GO
ALTER DATABASE paas COLLATE Chinese_PRC_CI_AS
GO

  扩展2:

让ASP和MS SQL SERVER支持UTF-8编码存储多国语言文字

近日在ASP+MS SQL存储UTF-8编码内容的时候,出现乱码的情况,经过查询发现要使SQL SERVER支持UTF-8编码格式,必须做一些修改才可以。

1、确保ASP页面是UTF-8编码的,并在ASP页面顶部声明中使用<%@ LANGUAGE = VBScript CodePage = 65001%>进行编码声明
2、输出的HTML页面中声明字符集:<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
3、在进行URL参数传递的时候,要使用Server.URLEncode()方法进行编码
4、使用JS进行URL参数传递中文的时候,要使用escape进行编码
5、在将UTF-8编码的内容存入SQL SERVER数据库中的时候,要存储的字段必须设置为NVARCHAR类型,SQL语句要在内容前加N表示,如insert into user (name) values (N´&username&´),除id意外的字段都需要加N。

创建连接 URL - JDBC Driver for SQL Server | Microsoft Learn

https://www.zhangshengrong.com/p/ERNnqWYMa5/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/478848.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL数据库

0 安装 我使用的操作系统为Ubuntu。 安装命令&#xff1a; sudo apt-get update sudo apt-get install postgresql postgresql-client 进入postgres&#xff1a; sudo -i -u postgres psql 退出命令&#xff1a; \q PostgreSQL启动服务等&#xff1a; sudo /etc/init.d/postgr…

KalLinux安装burpsuite(超详细)

注意事项 1.注意linux位数 安装jdk之前先输出uname -a&#xff0c;看看kali linux是32位的还是64位&#xff0c;例如此处我的kali是32位的&#xff0c;因此需下载的是32位的jdk 2.jdk版本 jdk版本最好是oracle的&#xff0c;若使用的是openjdk很可能会出现burpsuite闪退现象…

还在因为指针的释放问题而烦恼吗?快来看下C++11智能指针shared_ptr

智能指针是这样一种类&#xff0c;即其对象的特征类似于指针。例如&#xff0c;智能指针可以存储new分配的内存地址&#xff0c;也可以被解除引用。 因为智能指针是一个类对象&#xff0c;因此它可以修改和扩充简单指针的行为。例如&#xff0c;智能指针可以建立引用技术&#…

读研读博不emo

文章目录 起因积极走出封闭的孤独经历一——去心理健康中心看看书 原因剖析解决思路 好久没更b站&#xff0c; 起因 起因是这样的&#xff0c;在自己读研的研一下学期。也遭遇到了年以来的第一次心态发生有点压抑的情况吧。其实第一学期因为我遇到了很好的导师&#xff0c;然后…

二叉搜索树(Binary Search Tree)的深入剖析:代码+画图 详解插入、查找、删除操作

BSTree 0 引言1 二叉搜索树的概念2 创建一棵二叉搜索树&#xff08;插入操作&#xff09;2.1 画图分析插入操作2.2 代码思路2.3 利用中序遍历验证 3 二叉搜索树的查找操作4 二叉树搜索树的删除操作&#xff08;重点&#xff09;4.1 代码的一些细节分析 5 总结 0 引言 本篇文章…

【Elasticsearch】集群部署

文章目录 本地集群Windiows创建 elasticsearch-cluster 文件夹&#xff0c;在内部复制三个 elasticsearch 服务修改集群文件目录中每个节点的 config/elasticsearch.yml 配置文件启动集群测试集群-查看集群状态 本地开启集群Linux软件下载软件安装创建用户修改配置文件启动软件…

链表及链表的常见操作和用js封装一个链表

最近在学数据结构和算法&#xff0c;正好将学习的东西记录下来&#xff0c;我是跟着一个b站博主学习的&#xff0c;是使用js来进行讲解的&#xff0c;待会也会在文章后面附上视频链接地址&#xff0c;大家想学习的可以去看看 本文主要讲解单向链表&#xff0c;双向链表后续也会…

Java后端:html转pdf实战笔记

目录 1、htmltopdf有什么用&#xff1f; 2、什么是wkhtmltopdf 3、wkhtmltopdf 参数介绍 4、示例项目 5、预览效果 1、htmltopdf有什么用&#xff1f; htmltopdf 是一款基于wkhtmltopdf技术的html转pdf文档java类库&#xff0c;支持html转pdf和url转pdf。 2、什么是wkhtmltopdf…

Renesa 瑞萨 A4M2 移植文件系统FAT32

配置SDIO底层驱动&#xff08;SD card&#xff09; 跳到对应GPIO&#xff0c;进行复用 将Operation Mode配置 SD_MMC 4Bit&#xff0c;系统会自动配置 会到stacks 根据上面提示&#xff0c;解决错误。 解决第一个error mmc配置 mmc 以上SD卡底层配置完成 使用串口作为…

linux rs485功能增加

目录 串口驱动层级结构 485配置流程 dts相关 配置注册 初始化 485收发切换 delay_after_send 目前linux 内核中已经支持了485的实现&#xff0c;但由于底层驱动的支持情况&#xff0c;导致我们采用不同芯片时需要对底层驱动进行修改&#xff0c;以满足内核485的各个回调…

Linux-基本指令2

文章目录 touch&#xff08;新建一个文件&#xff09;whoami(查看当前用户名)概念&#xff1a;1.你是如何看待指令的&#xff1f;2.我们在执行指令之前&#xff0c;我们应该先做什么? 概念&#xff1a;/tree . (树状显示文件夹和文件)rmdir && rmrmdirrm ctrl c通配符…

【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)

例题来源&#xff1a;侯忠生教授的《无模型自适应控制&#xff1a;理论与应用》&#xff08;2013年科学出版社&#xff09;。 &#x1f449;对应书本 4.4 单输入单输出系统(SISO)全格式动态线性化(FFDL)的无模型自适应控制(MFAC) 上两篇博客分别介绍了基于紧格式和偏格式动态线…

软件分享--安卓纯文本记事本软件,支持多记事本与密码

文章目录 软件名字&#xff1a;LS记事本支持多记事本安全性&#xff1a;备份和恢复&#xff1a;搜索功能&#xff1a;显示功能&#xff1a;字体调节&#xff1a;轻量绿色下载地址 软件名字&#xff1a;LS记事本 支持多记事本 安全性&#xff1a; 1.每个记事本支持设置访问密码…

【Elasticsearch】几点核心概念

文章目录 核心概念系统架构分布式集群单节点集群故障转移水平扩容应对故障 路由计算(确定哪个主分片)分片控制&#xff08;确定哪个节点&#xff09;创建个集群如何查看数据呢&#xff1f;写流程读流程更新流程 分片原理倒序索引文档搜索动态更新索引持久化变更 文档分析内置分…

“Lunar Lobster “现已经可以下载

Canonical近日发布了Ubuntu 23.04&#xff08;Lunar Lobster&#xff09;操作系统&#xff0c;这是对其流行的GNU/Linux发行版的一次重大更新&#xff0c;带来了一些最新和最伟大的技术和开源软件。 被称为 “Lunar Lobster”&#xff0c;Ubuntu 23.04由最新的Linux 6.2内核系列…

【计算机网络】学习笔记:第五章 传输层【王道考研】

基于本人观看学习b站王道计算机网络课程所做的笔记&#xff0c;不做任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系&#xff0c;立删 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0c;如有疑问欢迎…

【数据结构与算法】哈希—— 位图 | 布隆过滤器 | 哈希切割

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《数据结构与算法》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 哈希是一种映射思想&#xff0c;这里再讲解两种应用哈希思想的数据结构。 哈希—— 位图 | …

边学边记——数据结构☞堆(包括优先级队列的介绍)

目录 一、堆&#xff08;二叉堆&#xff09; 堆是用来干什么的&#xff1f; 堆是用什么存储结构存储的&#xff1f; 1. 堆的概念 2. 堆的性质 3. 堆的存储方式 下标之间的规则&#xff1a; 4. 堆的基本操作 (1). 向下调整/堆化操作 (2).堆的创建 (3).堆的插入 (4…

2023-04-30:用go语言重写ffmpeg的resampling_audio.c示例,它实现了音频重采样的功能。

2023-04-30&#xff1a;用go语言重写ffmpeg的resampling_audio.c示例&#xff0c;它实现了音频重采样的功能。 答案2023-04-30&#xff1a; resampling_audio.c 是 FFmpeg 中的一个源文件&#xff0c;其主要功能是实现音频重采样。 音频重采样是指将一段音频数据从一个采样率…

duubo+zookeeper

1、Dubbo简介 1. Dubbo是什么&#xff1f; 高性能、轻量级、开源、基于java Dubbo 是阿里集团开源的远程服务调用的分布式框架&#xff08;告别Web Service模式中的WSDL&#xff0c;以服务者与消费者的方式在dubbo上注册&#xff09; 协议和序列化框架都可以插拔是及其鲜明…