Mysql中文问号‘?‘乱码问题

最近做数据库遇到中文乱码的问题,发现自己相关的设置没有设置好,遂做如下记录。

首先管理员身份进入Mysql,输入命令“ show variables like 'char%'; ”,

可以发现character_set_server是latin1,所以中文是乱码的情况。

方法一:

根据别人的教程,去mysql文件路径下找到“my.ini文件”,并尝试找到文件中[mysqld]的部分,并尝试把character-set-server后面的等号改为utf8。改好以后在“计算机管理”的“服务”项中“mysql”并重新启动。

如果还是没有办法的话就【检查所建数据库是否为utf8_general_ci格式】。这一步我还没有完成,因为我的文件没有“my.ini”文件,只有“my_default.ini”文件,所以需要进行其他的排查。

方案二:此时我去搜索了一下my_default.ini的问题,知道了这是mysql的zip安装格式下需要解决的问题。因为我安装的这个mysql已经很久了,并且当初并没有用到中文,所以这里需要进一步的学习。

1.首先在mysql路径下新建一个“my.ini”文件,并输入“mysql添加用户主机怎么填_MySql安装与配置方法(MySQL添加用户、删除用户与授权)..._weixin_39764487的博客-CSDN博客”这个教程下的相关代码

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=D:\mysql\mysql-5.6.24-win32

# 设置mysql数据库的数据的存放目录

datadir=D:\mysql\mysql-5.6.24-win32\data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB以上代码标记部分需要修改为自己的目录,也就是解压的目录。
————————————————
版权声明:本文为CSDN博主「weixin_39764487」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39764487/article/details/113300423

后续部分配合也尝试按照这一篇文章进行修改。

2.添加环境变量

参照文章流程做出如下操作:

(1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量

点击系统变量下的新建按钮

输入变量名:MYSQL_HOME

输入变量值:D:\mysql\mysql-5.6.24-win32

#即为mysql的自定义解压目录。

(2)选择系统变量中的Path

点击编辑按钮

在变量值中添加变量值:%MYSQL_HOME%\bin

注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值,

4)以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),

输入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin 进入mysql的bin文件夹(不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错误2)

输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!)安装成功
————————————————
版权声明:本文为CSDN博主「weixin_39764487」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39764487/article/details/113300423

之后在cmd以管理员身份进行操作:

显示已经安装过了,说明了目前mysql安装位置。我怀疑是不是我最新的没有安装成功。

查看数据库也没有问题。这里继续查看“show variables like 'char%';”命令,发现还是latin1.

这里我已经很想重装mysql了,但是我已经建立好了一个表,我并不想之后出现还要重新建表的情况,于是我找到了方法三。但是方法三参照别人的方法我执行不了“user mydb”的指令,所以干脆重装吧。

方法三的思路摘录自:

彻底解决MySQL中文乱码问题_u014022865的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL中,中文显示出现码的问题可以有几个可能的原因。其中一个可能是字符编码设置不正确。当数据库字符编码不是UTF-8或GBK时,中文字符可能会显示为问号码。解决这个问题的方法是确保数据库字符编码正确设置为UTF-8或GBK。你可以使用以下步骤进行设置: 1. 查看当前MySQL数据库字符编码设置,可以使用命令`show variables like 'char%'`。 2. 检查character_set_server的编码格式,如果不是UTF-8或GBK,需要进行修改。可以使用命令`set character_set_server = 'utf8'`或`set character_set_server = 'gbk'`进行修改。 3. 修改对应表的字符编码,可以使用命令`alter table [表名] modify [字段名] varchar(30) character set utf8;`或`alter table [表名] modify [字段名] varchar(30) character set gbk;`来将表的字符编码修改为UTF-8或GBK。 4. 重新插入中文数据,现在应该不会再出现问题了。同时,在MySQL Workbench中查询数据时,中文也应该能够正常显示了。 总结起来,为了在MySQL中正确显示中文,需要注意以下几点: 1. 确保建立本体时采用UTF-8编码。 2. 设置Java开发环境的编码为UTF-8。 3. 将存储本体的数据库字符集设置为UTF-8或GBK。 4. 在JDBC连接MySQL数据库时,需要在DB_URL后添加参数"useUnicode=yes&characterEncoding=utf8"来指定字符编码为UTF-8。 通过以上设置,你应该能够解决MySQL中文显示码的问题,并且在MySQL Workbench中正常显示中文数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [mysql中文显示??的解决办法](https://blog.csdn.net/Amy_W_M/article/details/104861208)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [mysql数据库中文显示为“?”解决](https://blog.csdn.net/Sunshine8430/article/details/80307054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值