如何解决mysql表输入中文出现问号的问题

 更新时间:2024年01月31日 10:21:19   作者:lidashent  
这篇文章主要介绍了如何解决mysql表输入中文出现问号的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

分析

Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F…’ for column ‘course’ at row 1

数据库的编码格式为latin1

原因:

不支持中文,比如设置的latin字符,或者编码解码不一致问题,比如客户端用uf8,服务器用latin等

解决:

统一设置为utf-8格式即可

  • 1.需要改配置文件,以后创建数据库自动utf-8
  • 2.对使用的数据库,表,表中的列重新设置编码格式为utf-8

修改配置文件

在mysql目录下找到myini文件

如果文件再c盘,复制出来到桌面修改,否则c盘保护不让修改,修改后再替换即可

修改的有两处,客户端编码,服务器编码

(注:collation是排序方式)

然后重启服务器即可,在管理员的cmd中输入如下指令

查看修改后的mysql编码格式

我已经修改过了,这是修改后的

修改数据库编码,表编码,表中的列编码

1.先查询数据库编码格式

如果不是utf8,可以使用如下命令修改

ALTER DATABASE 数据库 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

或者

2.表编码格式修改

查询表的编码格式

show create table tablename(数据库名.表名);

可以看出表编码格式为utf8,列编码为latin1,列不支持中文

如果表编码不是utf8,可以如下修改

ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE …] 

(注:此句把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:)

比如

ALTER TABLE web_user.user CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

再查询如下:

latin消失了,支持中文,而且全部编码一致

若修改某字段的字符集

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE …];

如:

ALTER TABLE web_user.user CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

如果还是不成功,删了重建数据表可以考虑

附:

若只修改表格默认的字符集

ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE…];

如:

ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

查看字段编码:

SHOW FULL COLUMNS FROM tbl_name;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL预编译功能详解

    MySQL预编译功能详解

    这篇文章主要为大家详细介绍了MySQL预编译功能的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • MySQL 配置文件my.cnf 例子最详细翻译

    MySQL 配置文件my.cnf 例子最详细翻译

    MySQL 配置文件my.cnf 例子最详细翻译,需要的朋友可以看看。
    2009-05-05
  • mysql三张表连接建立视图

    mysql三张表连接建立视图

    本篇文章给大家分享了mysql三张表连接建立视图的相关知识点,有需要的朋友可以参考下。
    2018-06-06
  • MySQL权限变更何时生效

    MySQL权限变更何时生效

    本文为大家讲述了对三种级别权限的变更后,使其生效的方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-10-10
  • Mysql DBA 20天速成教程

    Mysql DBA 20天速成教程

    准备一台pc,一根网线和20天无打扰的空余时间,把MySQL 5.1参考手册设置为浏览器首页,按下面列表逐条学习即可,这本中文手册包括基本上所有的内容,补充知识google也都能查到,学习平台采用linux
    2014-03-03
  • mysql数据库mysql: [ERROR] unknown option ''--skip-grant-tables''

    mysql数据库mysql: [ERROR] unknown option ''--skip-grant-tables'

    这篇文章主要介绍了mysql数据库mysql: [ERROR] unknown option '--skip-grant-tables',需要的朋友可以参考下
    2020-03-03
  • MySQL 数据库函数库

    MySQL 数据库函数库

    MySQL 数据库函数库...
    2006-12-12
  • MySQL中的全表扫描和索引树扫描 的实例详解

    MySQL中的全表扫描和索引树扫描 的实例详解

    这篇文章主要介绍了MySQL中的全表扫描和索引树扫描 ,从本文的学习可以轻松的知道,全表扫描的效率相比于索引树扫描相对较低一点,但是差距不是很大,具体示例代码详解跟随小编一起看看吧
    2022-05-05
  • mysql如何显示longblob解决方案

    mysql如何显示longblob解决方案

    这篇文章主要为大家介绍了mysql如何显示longblob解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Mysql设置主键自动增长起始值的方案总结

    Mysql设置主键自动增长起始值的方案总结

    在MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值,下面这篇文章主要给大家介绍了关于Mysql设置主键自动增长起始值的相关资料,需要的朋友可以参考下
    2022-09-09

最新评论