如何解决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 Delete 删数据后磁盘空间未释放的原因

    MySQL Delete 删数据后磁盘空间未释放的原因

    这篇文章主要介绍了MySQL Delete 删数据后磁盘空间未释放的原因,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-05-05
  • MySQL多表查询的具体实例

    MySQL多表查询的具体实例

    这篇文章主要介绍了MySQL多表查询的具体实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 新手学习MySQL索引

    新手学习MySQL索引

    如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有索引的MySQL就是一个人力三轮车。通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢,下面小编来带大家了解下索引
    2019-05-05
  • MySQL用户管理与PostgreSQL用户管理的区别说明

    MySQL用户管理与PostgreSQL用户管理的区别说明

    这篇文章主要介绍了MySQL用户管理与PostgreSQL用户管理的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • MySQL中的空格处理方法

    MySQL中的空格处理方法

    在MySQL中,空格是一个特殊的字符,本文主要介绍了MySQL中的空格处理方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • MySQL截取和拆分字符串函数用法示例

    MySQL截取和拆分字符串函数用法示例

    这篇文章主要介绍了MySQL截取和拆分字符串函数用法,结合实例形式分析了mysql针对字符串的截取与拆分函数SUBSTRING及SUBSTRING_INDEX相关使用方法,需要的朋友可以参考下
    2016-09-09
  • Mysql二进制安装与备份的全过程记录

    Mysql二进制安装与备份的全过程记录

    这篇文章主要给大家介绍了关于Mysql二进制安装与备份的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • 最新MySQL高级SQL语句大全

    最新MySQL高级SQL语句大全

    这篇文章主要介绍了MySQL高级SQL语句,主要包括常用查询知识order by按关键字排序的sql语句,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • MySQL触发器运用于迁移和同步数据的实例教程

    MySQL触发器运用于迁移和同步数据的实例教程

    这篇文章主要介绍了MySQL触发器运用于迁移和同步数据的实例教程,分别是SQL Server数据迁移至MySQL以及同步备份数据表记录的两个例子,需要的朋友可以参考下
    2015-12-12
  • 浅谈MySQL函数

    浅谈MySQL函数

    这篇文章主要介绍MySQL函数,主要解说数学函数、字符串函数、 时间函数、加密函数,需要的朋友可以参考下面文章具体内容
    2021-09-09

最新评论