mysql中文乱码--存入mysql里的中文变成问号的解决办法

今天,服务器里测试的时候,发现存入数据库的中文全部变成问号了!

首先想到这是编码问题:于是乎再次设置数据库的编码为utf8

可是,问题仍然存在:

后来发现,这个问题的根源应该是:

虽然数据库编码是utf8,但是数据库里的表和字段不是utf8

所以要解决这个问题,必须要将数据库的表和字段的编码都设置为utf8:

一下是设置办法:

修改数据库表编码为utf8:ALTER TABLE `table` DEFAULT CHARACTER SET utf8;

修改数据库字段编码为utf8,当然你可以一个一个字段修改,不过我告诉你一次性修改的命令:alter table `tablename` convert to character set utf8; 

原文地址:https://www.cnblogs.com/phying/p/8783421.html

时间: 2024-10-09 15:31:23

mysql中文乱码--存入mysql里的中文变成问号的解决办法的相关文章

plsql中文乱码显示问号的解决办法

问题现象:  PLSQL执行sql语句,不识别中文,输出的中文标题显示成问号????. 解决办法: 1. 登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出:查询出的内容含有中文显示成????. 2.输入sql语句select * from V$NLS_PARAMETERS t WHERE t.PARAMETER='NLS_LANGUAGE'查看字符集,查看value值是否为简体中文. 3.进入注册表,依次单击HKEY_LOCAL_MACHINE ---

linux(centOS6) 安装Mysql 5.6.19数据库步骤、 问题以及相应的解决办法

数据库版本:Ver 14.14 Distrib 5.6.19, for Linux (x86_64) using  EditLine wrapper linux版本: Linux version 2.6.32-279.el6.x86_64 ([email protected]) (gcc ve rsion 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Jun 22 12:19:21 UTC 20 12 采用的rpm安装方式. 1.官网下载

重启mysql提示:The server quit without updating PID file问题的解决办法

今天因为需要开启事件调度器event_scheduler,所以修改了mysql的配置文件/etc/my.cnf 就因为配置多了个分号,导致一直启动失败,如下图所示: 然后去网上搜了帖子(MySQL提示:The server quit without updating PID file问题的解决办法http://www.jb51.net/article/48625.htm),按照里面几种提供的方案都不能解决,于是查看mysql错误日志 #tail -n 400 /lutong/mysql/erro

Failed to issue method call: Unit mysql.service failed to load: No such file or directory的解决办法

Failed to issue method call: Unit mysql.service failed to load: No such file or directory的解决办法 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 1.软件环境: OpenSUSE 13.1 x64 MySQL 5.6.20 x64 2.采用RPM包安装MySQL 5.6.20 # rpm -ivh MySQL-server-5.6.20-1.sles11.x8

MySQL ERROR 1005: Can't create table (errno: 150)的错误解决办法

在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束. 出现问题的大致情况 1.外键的引用类型不一样,主键是int外键是char 2.找不到主表中 引用的列 3.主键和外键的字符编码不一致 4.还有要建立外键的话,要先建立索引.没有建立索引也会出错. MySQL ERROR 1005: Can't create table (errno: 150)的错误解决办法

mysql导入数据库中的存储过程和函数出现错误的解决办法

mysql导入数据库中的存储过程和函数出现错误的解决办法 调用一个远程拷贝的本地Mysql的储存过程 报错:[Err] 1449 - The user specified as a definer ('repl'@'192.168.1.%') does not exist  解决想法: 凭借以前经常见到的[email protected]报错,给root赋值所有权限: grant all privileges on *.* to [email protected]"%" identif

mysql导入导出sql文件,source导入速度慢的解决办法

1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u dbuser -p dbname users> dbname_users.sql 3.导出一个数据库结构mysqldump -u dbuser -p -d --add-drop-table dbname &

Mysql 分组查询出现'this is incompatible with sql_mode=only_full_group_by'的解决办法

由于Mysql自动开启了 only_full_group_by,所以若查询的字段不在group by里面,则分组报错. 解决办法其一:mysql配置,关闭only_full_group_by,这种办法自行百度 下面说第二种办法: 除去group_by 以外的参数加上any_value(*) 如:SELECT type_id,any_value(`name`)  FROM ts_product GROUP BY type_id; Mysql 分组查询出现'this is incompatible

【错误】mysql 出现 "1067 - Invalid default value for 'UPDATE_TIME' " 错误提示的解决办法

今天工作中遇到修改表结构的时候出现错误 Invalid default value for 'UPDATE_TIME 问题原因是因为db 表中update_time的默认时间写成了 '0000-00-00 00:00:00' `update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 因为timestamp类型取值范围:1970-01-01 0