Mysql数据库乱码问题:Incorrect string value

使用命令行进入Mysql:
  输入命令"status"查看mysql的有关编码设置:
  这里一共显示了4中字符集,Server characterset是数据库服务器的编码,DB characterset是数据库的编码,client characterset是客户端的编码,conn characterset是建立连接时使用的编码。为了很好的兼容英文和中文,所有的这些选项强烈建议使用utf8。至少应该保证server characterset这个编码是utf8。
  如果这里显示的不是utf8的话,我们可以使用

set character_set_connection = 'utf8';
set character_set_results = 'utf8';
set character_set_client = 'utf8';

  另外,在创建数据库和建表时也需要指定编码字符集为"utf8",以及表中各个字段的格式也为utf8.
  还有,我是用myeclipse写的java文件操作数据库,最好设置myeclipse的编码格式也为utf8.如果是对java文件更改编码格式:
  windows->Preferences->general->ContentTypes->Java Source File->UTF-8 ,建议设置myeclipse的默认编码格式为utf8

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-01 18:23:26

Mysql数据库乱码问题:Incorrect string value的相关文章

MySQL数据库-错误1166 Incorrect column name_Mysql

出现MySQL数据库-错误1166 Incorrect column name 字段名,这个是字段中有空格了,这个只要利用alert或phpmyadmin进入修改即可解决. 今天在用Navicat for MySQL给MySQL数据库修改表的字段时报如下的错误 SQL 查询: CREATE TABLE `gfan_content`.`channel_into` ( `time` INT( 11 ) NOT NULL COMMENT '产品id', `bid` INT( 11 ) NOT NULL

mysql数据库乱码大家一般怎么解决?

问题描述 mysql数据库乱码大家一般怎么解决? 解决方案 (1)检查你的文件存储编码是否和 meta 声明的一致,假如你的文件是按照 utf-8 编码存储,但是 meta 却声明为 gb2312 ,将导致乱码.解决办法:将页面存储编码和 meta 声明保持一致.用记事本打开文件,"另存为",下面有个选项是"编码",选择和 meta 声明一致的编码方式.(提示:meta 的编码声明要放在 title 标签前面,否则容易导致页面空白.)(2)检查你的数据库连接有没有设

MySQL Connector/NET连接mysql数据库乱码

问题描述 用MySQLConnector/NET连接mysql数据库乱码,凡是字段是中文就会乱码,myini文件已修改成default-character-set=gb2312,连接字符串也改成了default-character-set=gb2312,依然是乱码,请大家指教 解决方案 解决方案二:MYSQL是有这个问题的,修改INI文件都可以解决的一般情况,你找找MYSQL类的问题看下.解决方案三:困扰了好几天的问题,没有人懂吗解决方案四:页面,数据库编码都设一致,如果不行话的话,就用转换的看

php 解决MySQL插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误

在项目中向MySQL插入数据时,发现数据插入不完整,通过调试,发现插入语句也没什么特殊的错误.但是就是差不进去,于是就打开mysqli错误的调试 $ret = mysqli_query($this->conn, $sql) or die(mysqli_error($this->conn)); 结果弹出如下错误信息: Incorrect string value: '\xF0\x9F\x92\x8BTi...' 有错误信息就好办了,结果上网一查结果是:mysql编码格式utf-8格式,不支持带四

Python写MySQL数据库乱码

MySQL数据库的默认编码已经设置为utf8了,在python程序内也已经把字符串的编码转换成了utf8,可是通过MySQLdb插入数据库后,显示的还是一堆乱码. 后来发现是建立数据库连接时的问题: conn = MySQLdb.connection(host="localhost", user="root", passwd="password", db="test", use_unicode=True, charset=&q

MySQL数据库-错误1166 Incorrect column name

今天在用Navicat for MySQL给MySQL数据库修改表的字段时报如下的错误 SQL 查询: CREATE TABLE `gfan_content`.`channel_into` ( `time` INT( 11 ) NOT NULL COMMENT '产品id', `bid` INT( 11 ) NOT NULL COMMENT '渠道商id' ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci; MySQL 返回

PHP连接mysql数据库乱码解决办法

测试环境 mysql编码为uft-8 mysql版本为mysql5.X php版本为php 5.X 解决办法 1.确保HTML代码中声明的charset值等于utf-8,代码如下  代码如下 复制代码 <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> 1:确认phpmyadmin用的mysql字符集为utf-8

hibernate插入中文到mysql数据库乱码

1. 更改mysql数据库字符集 linux下修改/etc/my.cnf windows下修改my.ini [mysqld] character_set_server=utf8      #这个是我添加的init_connect='SET NAMES utf8'datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlsymbolic-links=0 [mysqld_safe]default-character-set = u

解决mysql不能插入中文Incorrect string value_Mysql

选项default-charaset-set=utf8; 然后创建一个数据表 create table a_table(b varchar(255) not null); insert into a_table values('北京'); 这个时候插入的是中文,系统会报告错误:Incorrect string value: '\xB1\xB1\xBE\xA9' for column 'b' at: 这个不能插入中文.如果该语句写在了一个文本文件中进行批处理操作,保存的编码是默认的话也会出现这种的