在线急等,为什么我的mysql不能插入中文

直接输出:
MySQL UTF-8 编码问题:
1 Linux终端:
设置 utf8 名称;解决插入中文乱码的问题。

默认的终端编码会影响插入数据的编码。

显示可能会失真。

2 Windows 命令行:
设置 utf8 名称;无效。

解决方案:
(1 )默认编码,直接粘贴中文,但会失去UTF-8 的优点。

(2 )图形客户端。

MySQL SQL 模式:

sql-mode='STRICT_TRANS_TABLES,...'。

删除 STRICT_TRANS_TABLES 或注释掉。

重新启动MySQL。

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

哈,我很熟悉你的问题!上周,一位客户急得拍桌子说自己正在使用Navicat8 连接MySQL。
不管他怎么输入汉字,全都是破烂的,变成了盒子……我一看配置,出来的是latin1
你是对的。
MySQL 默认使用 latin1 (ISO-8 8 5 9 -1 )。
这种编码对于西欧人来说足够了,但对于中国人来说完全无法理解。
我去年在杭州调试过类似的问题。
Client Server是2 008 年安装的,系统管理员以为MySQL内置了中文支持,但字符集早已默认改为拉丁文了。

我们列出了所有解决方案。
我会添加一些细节。
修改my.ini时,请确保文件编码也是utf8 大家想一想,如果我的系统编码是GBK,我直接用记事本打开my.ini,改成utf8 参数,保存的时候可能会自动转换成GBK编码,那不是浪费时间吗?我通常使用像Notepad++这样的编辑器或者在保存之前手动将文件编码调整为utf8 上次帮隔壁公司解决问题就是这个陷阱,我差点就生气了。

重新启动服务后,请务必使用 Navicat 创建新的连接测试。
有些服务器环境比较复杂,可能有全局变量,例如Character_set_client。
我在上海的一个银行项目中经历过这一点。
客户端和服务器字符集不匹配,无法输入中文。
我最终不得不在 Navicat 的连接属性中手动将“默认字符集”更改为 utf8
如果您使用命令行工具(例如 mysql workbench)进行连接,还请检查默认编码设置。
上次我的运维朋友配置了环境变量,导致所有工具都无法连接中文。
最后他哭着来找我抱怨……这就是交叉工具的连锁反应。

您提到的验证命令SHOW VARIABLES LIKE 'character_set%'尤其重要。
每次教新人时我都必须强调这一点。
ALTER语句非常重要,特别是对于ALTER TABLE。
某些系统版本可能要求您指定 CONVERT 而不是 CHARACTERSET。
这个兼容性问题是在2 02 2 年维护现有系统时出现的。

总之,分析写得很好,尤其是原因和解决方案分解得很清楚。
如果还有人问这个问题,直接把这篇文章发给他们,肯定能解决你9 0%的问题。
剩下的1 0%呢?这可能只是客户端机器上安装了一个肮脏的输入法插件,所以这里不再赘述。

解决MySQL输入中文问题的方法简介mysql不能输中文

抱歉,说到MySQL的中文输入问题,我真的有点苦。
记得那一次,2 01 8 年,我在一家互联网公司管理数据库,公司里所有的项目都使用MySQL数据库。
结果中文输入问题层出不穷,真是让人头疼。

当时我们公司有一个项目,全国各地的用户都在使用,数据量也很大。
结果在引入汉字时,文字要么扭曲,要么不显示,令人尴尬。
当时我尝试了第一种方法,就是修改MySQL的默认字符集。
我当时就傻了,查配置文件查了好久。
最后,我在my.cnf中添加了两行代码,character_set_server=utf8 和collat​​ion-server=utf8 _general_ci,然后重新启动MySQL服务。
结果效果很好,写中文也没有问题。

后来我发现这个方法很实用,就推荐给同事了。
然而,后来我又遇到了新的问题。
有时,客户端的字符集设置不正确,仍然无法显示中文。
当时我就想到了第二种方法,就是直接在MySQL客户端设置字符集。
当时我在客户端输入SET NAMES utf8 ,问题就解决了。

后来,我们开发了一个用Java编写的新项目。
当时我就知道需要在代码中设置字符集。
所以,我在数据库连接代码中添加了这一段:Class.forName("com.mysql.jdbc.Driver");连接 con = DriverManager.getConnection("jdbc:mysql://localhost:3 3 06 /test?useUnicode=true&characterEncoding=UTF-8 ", "root", "root");这样客户端和服务器端都能正确显示中文。

不过说起来,这些方法虽然解决了问题,但是每次遇到新的项目都得重新设置,很烦人。
后来公司换了数据库,使用了支持中文更好的数据库,这个问题就彻底解决了。

总之,MySQL中文输入的问题其实就是字符集设置不正确。
如果你遇到这个问题,可以尝试一下我提到的三种方法,基本可以解决。
不过具体使用什么方法要根据实际情况而定。
我不敢乱说,因为第一种和第二种方法是我在自己的项目中用得最多的。
哈哈,希望我的经验可以帮到你!