怎样解决SQL数据库中文乱码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样解决SQL数据库中文乱码问题相关的知识,希望对你有一定的参考价值。

用SQL2005附加数据库,打开后,发现某一表里的中文全是乱码(注:是程序开发者为防止泄露和拷贝故意设成乱码的)。请问如何才能把乱码变回来?请回答者别复制网上的答案,分步说明。也可加我QQ:79316212。

故意设成乱码是什么意思?人们只有通过加密来保存在数据库中,变成乱码保存是不可能的,如果能有套规则能变成乱码保存进去的话别人也能反过来编译。如果是不想中文保存在数据库中为乱码,则使用NCHAR或NVARCHAR类型 参考技术A 登陆“Microsoft SQL Server Management Studio”,然后选择对应的数据库的属性,打开属性标签。

找到编码属性“collation”,然后修改为本地编码即可。

乱码问题得到解决。
参考技术B 如果是程序开发者先把数据加密,再保存到数据库,那么字符串就有可能在数据库中显示为乱码。
我公司的系统中的用户密码就是这样,直接在数据库看,有可能是乱码。必须要经过系统自身解密才行。
除非有源代码,否则很难解密。
如果你有源码就分析下加密那部分
参考技术C 难道是别人加密了写入的??没算法?没代码怎么知道

mysql 8.0 中文数据乱码怎么解决

参考技术A mysql会出现中文乱码的原因不外乎下列几点:
1.server本身设定问题。
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8。utf8可以兼容世界上所有字符!
一、避免创建数据库及表出现中文乱码和查看编码方法
1、创建数据库的时候:create
database
`test`
character
set
'utf8'
collate
'utf8_general_ci';
2、建表的时候
create
table
`database_user`
(
`id`
varchar(40)
not
null
default
'',
`userid`
varchar(40)
not
null
default
'',
)
engine=innodb
default
charset=utf8;
这2个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。
但是如果已经建了库和表可以通过以下方式进行查询。本回答被提问者采纳

以上是关于怎样解决SQL数据库中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

Sql server出现中文乱码怎么办

oracle sql developer 查询乱码和文件打开乱码问题

sql语句有中文,乱码怎么解决

SQL SERVER BULK INSERT NAME 中文汉字出现乱码怎么解决?

java数据库中文乱码怎么解决

Mysql存储过程中文乱码问题