navicat8数据库为什么不能输入汉字

嘿嘿,这个我很熟悉。
一年前,我帮小李修了电脑。
当他写下“Hello”时,他的Navicat 8 数据变成了一堆乱七八糟的笔记,气得他摔到了桌子上。

你说得对,我当时就一头雾水,查了资料才明白。
主要是因为MySQL安装后,latin1 默认只有几个字符,怎么能识别汉字呢?想一想,如果插入的时候放的是utf8 字符,以后就不用这么麻烦了。

我也试图找到解决方案,让我告诉你。
首先,找到 my.ini 文件,通常位于 MySQL 安装目录中。
如果找不到,就自己制作一个。
里面加两句: 在 [mysqld] 字符集服务器=utf8 collation-server=utf8 _general_ci
添加完这些后,保存,然后重启MySQL服务。
对于Windows系统,您可以在“服务”下找到MySQL,然后右键重新启动它。
对于Linux系统,在终端中使用sudo systemctl命令重新启动mysql。

重启后,再次使用Navicat连接,然后对其执行SQL命令: sql SHOW VARIABLES LIKE 'character_set%';
查看输出是否为character_set 和character_s。
如果还是latin1 ,可以更改数据库或表字符。

记得上次帮小李改改,他的数据库相当大,在改表上卡了好久,快把他急死了。
因此,如果是大型数据库,建议先在小型数据库上尝试。

最重要的是,经过这些修改,Navicat8 可以正常连接数据库模式并书写汉字了。
后来小李很高兴,还请我吃午饭。

顺便说一句,如果更改仍然不起作用,您应该检查 Navicati 连接的设置,看看是否有设置以拉丁文描述的地方。
这种事情有时会很烦人。

mysql怎么汉字变 ??

说白了就是:将MySQL编码改为UTF-8
配置文件在Windows下为my.ini,在Linux下为/etc/my.cnf。

[mysqld]里加: 默认字符集=utf8 character_set_server=utf8
[mysql] [mysql.server] [mysqld_safe] [客户端] 添加: default-character-set=utf8
重启MySQL服务: Windows:使用 net stop mysql 和 net start mysql Linux:使用 mysql restart 服务登录 MySQL 后: 显示像“%character%”这样的变量; 看看结果是不是udf8
如果不起作用,请手动更改: 设置character_set_client=utf8 ; 设置character_set_server=utf8 ; 设置character_set_connection=utf8 ; 设置character_set_database=utf8 ; 设置character_set_results=utf8 ; 设置 collat​​ion_connection=utf8 _general_ci; 设置 collat​​ion_database=utf8 _general_ci; set collat​​ion_server=utf8 _general_ci;
首先。

php+mysql程序中关于汉字显示为”??”的问题

你好,我以前也遇到过这种情况。
我曾经编写过一个 PHP 脚本,它连接到 2 02 2 年某个城市的数据库,然后运行 ​​SQL 查询。
当时,我直接在代码中编写了mysql_query。
哦,出来的数据乱七八糟,汉字都显示得破烂不堪。
当时我很困惑,不知道发生了什么。

后来查了资料,发现我数据库中的编码与PHP脚本中的编码不匹配。
当时我的数据库使用gb2 3 1 2 编码,所以我在运行查询之前添加了以下内容:
php mysql_query("设置名称'gb2 3 1 2 '");
这时候汉字就可以正常显示了。
但是,我后来切换到 utf8 编码,因此代码行如下所示:
php mysql_query("设置名称'utf8 '");
这样我的PHP脚本无论数据库是gb2 3 1 2 还是utf8 编码都可以正确显示汉字。
这个编码问题真是让人头疼。