记录一下铁威马NAS创建MariaDB后汉字乱码的填坑过程。
在铁威马的应用中心安装的MariaDB后,创建了数据库,编程连接后读取的表头汉字显示为乱码,而且通过客户端输入表格的汉字也是乱码,显示为??????
在网上查了一下,知道是字符集的问题
上图是正确的字符集配置,可以通过SQL命令进行查询,原来红圈的位置是Latin1,导致汉字乱码
show variables like 'char%'
原以为通过SQL命令可以设置好
SET GLOBAL character_set_client=utf8; SET GLOBAL character_set_connection=utf8; SET GLOBAL character_set_database=utf8; SET GLOBAL character_set_results=utf8; SET GLOBAL character_set_server=utf8;
运行完这些SQL命令后,数据是改了,但是重启数据库后问题依旧。
搜索了很多资料后,了解需要通过SSH工具解决。这里推荐微软的Termius
铁威马默认的SSH链接端口是9222
所以在Termius进行如下设置
连接后修改 /etc/mysql目录下的my.cnf 文件(MariaDB安装目录里没有client.cnf、server.cnf这两个文件,修改my.cnf就行)
连接成功后显示:
这里需要切换成root最高权限管理员,输入命令
sudo -i
回车后需要输入密码,密码和admin账号的密码是一样的,输入密码的时候不会显示出来,输入正确后直接回车就行,成功后如下所示:
vi命令进入my.cnf文件编辑状态
vi /etc/mysql/my.cnf
回车后显示
在[mysqld]下面加上(我上面的截图已经加好了)
character-set-server = utf8
采用vi命令进行编辑,按a进入编辑,按ESC结束编辑,输入”:”,然后按“x”键进行保存(具体百度搜索一下)
然后重启MaraDB服务就OK了。
原文链接:https://blog.csdn.net/qq_42949275/article/details/122078773?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171828022016800184185849%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171828022016800184185849&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-21-122078773-null-null.nonecase&utm_term=nas+%E9%93%81%E5%A8%81%E9%A9%AC