mysql客户端select出的内容都乱码 我装了mysql 5.0,使用的是UTF8,通过JSP页面保存的数据也是UTF8,通过jsp程序检索出来的数据显示正常,但是通过mysql -u root连接的客户端select出来的中文数据全部都乱码。为什么会出现这样的问题?还请高手帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还有就是在客户端执行语句insert into user(id,name) values(2,'中文')时报如下错误:ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'NAME' at row 1而执行insert into user(id,name) values(2,'english')就没有问题。为什么? 但是通过mysql -u root连接的客户端select出来的中文数据全部都乱码那是因为里面存放的是UTF8编码后的字符串。在终端SELECT 前先执行 SET NAMES 'UTF8' 设定终端的字符编码也为UTF8就行了。在菜单兰的“终端”-->“设定字符编码” 下面文章对你会有帮助http://www.programmerstudy.com/database/mysql/20084/142.html 我也遇到楼主一样的问题,用JDBC连的时候,插入的语句也不会乱码,读出来也正常。就是到了客户端就不行。。mysql> set names 'utf8';Query OK, 0 rows affected (0.00mysql> select * from location;+----+-------+----------+| id | deptn | location |+----+-------+----------+| 1 | 10 | wuhan || 2 | 20 | 娣卞湷 || 3 | 20 | 姝︽眽 |+----+-------+----------+3 rows in set (0.00 sec)怎么解决的呀? set names( "utf8 ") 先. 有2种可能性:1、修改my.ini把sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"2、你需要两个工具,一个是mysqlodbc下载并按装mysql-connector-odbc-5.1.8-win32一个是navicatformysql。第一步:控制面板->管理工具->数据源。在本地Windows下建立个mysqlODBC数据源,假设命名成visteel 第二步:打开NavicatforMySQL,单击“Connection”按钮设置连接。 第三步:连接上数据库服务器后右键单击数据库服务器选择“NewDatabase…”新建一个数据库。记得“Characterset”选定gbk; 第四步:选中要转换的表,将它们拖到新进的数据库中,在弹出的选项窗中选择“Copyhere(Structureonly)”,将数据表的结构复制到新数据库中; 第五步:在新建的数据库中选中刚导过来的所有的表,右键选择“DumpSQLFile”导出成sql文件; 第六步:用文本编辑器打开刚导出的sql文件,将里面的DEFAULTCHARSET=后面不论是什么,全部替换成DEFAULTCHARSET=gbk,保存修改过的sql文件。 第七步:全选新建的数据库中的所有表,单击“DeleteTable”删除。然后右键单击新建的数据库选择“ExecuteSqlFile…”,找到并双击改过的sql文件,将改过的sql文件重新导回数据库中。 第八步:选中新建的数据库然后再点击:“ImportWizard”按钮。选择ODBC,点下一步。 第九步:点“ImportFrom:”右边的“…”按钮,然后在“数据连接”属性窗口选择“连接”这一页,在“1、指定数据源”中选择在第一步中建立的数据源“visteel”;确定后返回“step2of8”窗口,选中需要转换的表,或者点击“selectall”按钮选择整个数据库的所有的表。连续点击三次“next”按钮后来到“Step7of8”对话框。 第十步:选择“Copy:deleteallrecordsindestination,repopulatefromthesource”:再单击”next”来到“step8of8”对话框。 第十一步:单击按钮“start”开始转换,直到出现信息“[Msg][lmp]Finished-Successfully”。 到此,数据库完美完成了GBK的整理。编辑XOOPS根目录下的mainfile.php文件,将define('XOOPS_DB_CHARSET','gb2312')修改成define('XOOPS_DB_CHARSET','gbk'); 将本地数据库导出上传到虚拟主机进行测试,至此,mysql#1366错误全部消失掉了。而且生僻汉字也不再是用??显示了。 sql语句怎么写 MYSQL 触发器 简单 计费 散分 请问怎么实现自动把MYSQL表的数据IMPORT成TXT格式呢? 如何用sql语句查询mysql整个库占据的容量的大小呢 不知道有没有人碰到相同的情况 can't create tcp/ip socket(-1) 我的mysql 不支持中文输入? 关于数据的导出和导入问题? 在xp下mysql出错,请帮忙! 关于mysqldump的细节,求大神 sql子查询问题 MySQL 中 icc glibc23 和 glibc23 这两个版本有什么不同呢? 请问MySQL的delimiter问题
insert into user(id,name) values(2,'中文')
时报如下错误:
ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'NAME' at row 1而执行insert into user(id,name) values(2,'english')就没有问题。为什么?
http://www.programmerstudy.com/database/mysql/20084/142.html
用JDBC连的时候,插入的语句也不会乱码,读出来也正常。就是到了客户端就不行。。mysql> set names 'utf8';
Query OK, 0 rows affected (0.00mysql> select * from location;
+----+-------+----------+
| id | deptn | location |
+----+-------+----------+
| 1 | 10 | wuhan |
| 2 | 20 | 娣卞湷 |
| 3 | 20 | 姝︽眽 |
+----+-------+----------+
3 rows in set (0.00 sec)
怎么解决的呀?
先.
1、修改my.ini
把sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
2、你需要两个工具,一个是mysqlodbc下载并按装mysql-connector-odbc-5.1.8-win32一个是navicatformysql。第一步:控制面板->管理工具->数据源。在本地Windows下建立个mysqlODBC数据源,假设命名成visteel 第二步:打开NavicatforMySQL,单击“Connection”按钮设置连接。 第三步:连接上数据库服务器后右键单击数据库服务器选择“NewDatabase…”新建一个数据库。记得“Characterset”选定gbk; 第四步:选中要转换的表,将它们拖到新进的数据库中,在弹出的选项窗中选择“Copyhere(Structureonly)”,将数据表的结构复制到新数据库中; 第五步:在新建的数据库中选中刚导过来的所有的表,右键选择“DumpSQLFile”导出成sql文件; 第六步:用文本编辑器打开刚导出的sql文件,将里面的DEFAULTCHARSET=后面不论是什么,全部替换成DEFAULTCHARSET=gbk,保存修改过的sql文件。 第七步:全选新建的数据库中的所有表,单击“DeleteTable”删除。然后右键单击新建的数据库选择“ExecuteSqlFile…”,找到并双击改过的sql文件,将改过的sql文件重新导回数据库中。 第八步:选中新建的数据库然后再点击:“ImportWizard”按钮。选择ODBC,点下一步。 第九步:点“ImportFrom:”右边的“…”按钮,然后在“数据连接”属性窗口选择“连接”这一页,在“1、指定数据源”中选择在第一步中建立的数据源“visteel”;确定后返回“step2of8”窗口,选中需要转换的表,或者点击“selectall”按钮选择整个数据库的所有的表。连续点击三次“next”按钮后来到“Step7of8”对话框。 第十步:选择“Copy:deleteallrecordsindestination,repopulatefromthesource”:再单击”next”来到“step8of8”对话框。 第十一步:单击按钮“start”开始转换,直到出现信息“[Msg][lmp]Finished-Successfully”。 到此,数据库完美完成了GBK的整理。编辑XOOPS根目录下的mainfile.php文件,将define('XOOPS_DB_CHARSET','gb2312')修改成define('XOOPS_DB_CHARSET','gbk'); 将本地数据库导出上传到虚拟主机进行测试,至此,mysql#1366错误全部消失掉了。而且生僻汉字也不再是用??显示了。