LocalDB数据库修改排序规则,修复汉字变问号

VS2012,VS2013新增的轻量级数据库LocalDB,有个这个,开发人员就不必再安装庞大的SQL
server了,可以方便地测试运行小型项目;既然是轻量级数据库,它抛弃了庞大的身躯,功能上当然也会受到局限,其中之一就是它默认的排序规则,使用默认排序规则,从网站前台添加的中文数据在数据库中显示乱码或者变问号;这个问题困扰了我好几天时间,通过各种搜索,终于找到解决方案;特此转述,希望能帮到有同样困惑的您!
1.右键数据库实例,新建查询修改数据库为单用户模式

alter database [数据库名或完整路径] set single_user with rollback 
immediate ;
go

2.修改排序规则(这里为中文--拼音--不区分大小写)

alter database [数据库名或完整路径] collate Chinese_PRC_CI_AS
;
go

3.重新设置为多用户模式

alter database [数据库名或完整路径]  set multi_user;

其中排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
  Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。排序规则的后半部份即后缀含义:

  _BIN
二进制排序

  _CI(CS) 是否区分大小写,CI不区分,CS区分
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。

  _AI(AS)
是否区分重音,AI不区分,AS区分 
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。

  _KI(KS)
是否区分假名类型,KI不区分,KS区分 区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。

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

时间: 2024-10-07 12:28:41

LocalDB数据库修改排序规则,修复汉字变问号的相关文章

4.2 修改排序规则

4.2 修改排序规则 4.2.1 修改排序规则 可以通过 SSMS 打开数据库的属性窗口,在"选项"选项卡中指定新的排序规则. T-SQL 语句示例如下: USE [master] GO ALTER DATABASE [SQLDB01] COLLATE Chinese_PRC_CI_AS GO 在对数据库应用不同排序规则之前,请确保已满足下列条件: (1)没有其他用户连接到当前数据库.可以事先将数据库切换到单用户模式. (2)没有依赖数据库排序规则的架构绑定对象,否则 SQL Serv

MYSQL数据库表排序规则不一致导致联表查询,索引不起作用问题

Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字段ishaspic:新添字段时,报错 [SQL] alter table WorkTask add ishaspic int(10) Null;[Err] 1034 - Incorrect key file for table 'WorkTask'; try to repair it 解决方案:新建

更改SQL Server 数据库的排序规则

更改数据库的排序规则,SQL提示 5030 的错误,错误信息如下: The database could not be exclusively locked to perform the operation. 解决方法: 1.设置数据库的 Ristrict Access 为 SINGLE_USER. 2.执行下列语句更改排序规则 USE master GO ALTER DATABASE 'your db name' COLLATE Chinese_PRC_CI_AS GO 3.上述命令执行成功之

MSSQL 修改数据库的排序规则

1.修改数据库排序规则 ALTER DATABASE [CHARACTER] COLLATE Chinese_PRC_CI_AS ; 2.修改表中列的排序规则 如果下列其中之一当前正在引用一个列,则无法更改该列的排序规则. 计算列 索引 自动生成或由 CREATE STATISTICS 语句生成的分发统计信息 CHECK 约束 FOREIGN KEY 约束 --------------------------修改数据库表中字符型列的排序规则 ---------------------------

修改sqlserver2008数据库的排序规则 (转)

修改SQL server 2008服务器排序规则 SQL Server 2008安装好后,发现服务器排序规则不对,又不想重装SQL Server. 假设当前默认实例的服务器排序规则是:Chinese_PRC_CI_AS,要修改成SQL_Latin1_General_CP1_CI_AS 步骤: 在CMD模式 1. 进入SQL Server 安装文件所在目录(setup.exe文件所在目录) 2. 运行命令:Net stop mssqlserver 3. Setup /QUIET /ACTION=R

SQL SERVER 数据库安装完毕之后如何修改数据库实例排序规则

背景 最近我们在azure portal 上开了几台英文版的数据库服务器,因默认是开启就安装好对应的数据库,所以存在一个实例排序规则的问题,需把整个实例都调整成Chinese_PRC_CI_AS,避免后续出现字符乱码之类的问题.之前只是知道可以调整,未实际操作过,这次把实际操作步骤记录一下,便于我们后续查阅. 环境情况 Microsoft SQL Server 2012 (SP3-CU8) (KB4013104) - 11.0.6594.0 (X64) Mar 15 2017 10:52:31

SQL 修改排序规则的问题 sql_latin1_general_cp1_ci_as

在一个项目中遇到:用原来的数据库生成的脚本,然后部署到新的服务器上,数据库的SQL_Latin1_General_CP1_CI_AS 怎么查询出来汉字都是乱码了. 遂查解决方法. 需要执行这个 ALTER   DATABASE   [OEBSSDB-V2]COLLATE   Chinese_Simplified_Stroke_Order_100_CS_AI; 执行过程中报错:5030 改成 ALTER DATABASE [OEBSSDB-V2] SET SINGLE_USER WITH ROLL

jumpserver 3.2修改排序规则

在默认的情况下,我们使用jumpserver的时候 这里我使用xshell 客户端连接到堡垒机的时候, 这里我的显示规则是根据IP排序的,但是我这里的服务器的hostname 都是根据场景设置的host 所以这个我更加的希望是更具hostname 这一列来排序的.所以这里我修改了jumpserver.conf的配置文件 [connect]nav_sort_by = ip 这里我把ip修改成hostname [connect]nav_sort_by = hostname这里我们也不需要重启项目,直

MySql数据库字段排序规则不一致产生的一个问题

最近项目向MySql迁移,迁移完毕后,在获取用户权限时产生了一个异常,跟踪进去获取执行的语句如下, SELECT PermissionId FROM spysxtPermission WHERE (ResourceCategory = 'BaseUser' AND ResourceId = '003bf4bd072243fa90517ee2bc088cb7' AND Enabled = 1 AND DeletionStateCode = 0) UNION SELECT PermissionId