数据库mysql中文显示乱码问题。命令行直接select *from student;显示不乱码,但是通过函数获取结果集乱码

数据库mysql中文显示乱码问题。命令行直接select *from student;显示不乱码,但是通过函数获取结果集乱码,第1张

1server本身设定问题,例如还停留在latin1

2table的语系设定问题(包含character与collation)

3客户端程式(例如php)的连线语系设定问题~

首先写一个数据库test,然后写一个表table,最后插入你想要写入的字段"工资"。出现了了乱码。就得1 启动MySQL,在里面输入 ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin,将test数据库的编码设为utf8。2 修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 以上命令就是将一个表category的编码改为utf8 。3 修改字段的编码:直接在MySQL里右击表,然后点编辑表,在里面修改或输入代码: ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR ( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL。4得删除之前插入的字段之类的,再重新导入之前的字段

你的mysql客户端和你的mysql服务器的编码不一样,,应为utf8编码的中文是3个字符,而gbk编码的中文是两个字符,,这样解析出来的中文就是乱码了。。你需要该数据库的字符集编码。。。具体如下:

找到mysql

的ini配置文件

在[client]这里加上default_character_set

=

utf8

在[mysqld]这里加上character_set_server

=

utf8

不出意外应该可以了

试试看下面这个

Systemoutpritnln(new String(rolesget(0)getName()getBytes("iso-8859-1"),"utf-8"));

如果是程序开发者先把数据加密,再保存到数据库,那么字符串就有可能在数据库中显示为乱码。

我公司的系统中的用户密码就是这样,直接在数据库看,有可能是乱码。必须要经过系统自身解密才行。

除非有源代码,否则很难解密。

如果你有源码就分析下加密那部分

以上就是关于数据库mysql中文显示乱码问题。命令行直接select *from student;显示不乱码,但是通过函数获取结果集乱码全部的内容,包括:数据库mysql中文显示乱码问题。命令行直接select *from student;显示不乱码,但是通过函数获取结果集乱码、数据库写入的中文变成乱码如何解决、为什么中文存入数据库中会乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9505111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存