在mysql下建了个表,建表时没太注意编码问题。
默认的应该是latin1,我在latin1下面插入在一些中文数据,在mysql的控制台下没问题
但是用jsp连接取出来是乱码。
方法1:set names utf8,在mysql控制台显示是乱码,前台取出来是乱码,set name latin1,mysql控制台中文,前台乱码
插入中文数据,提示,数据太长。
方法2:alter table table_name modify columns text character set utf8;
全部乱码;插入中文数据,提示,数据太长。
方法3:修改my.ini里的default-character-set=utf8,乱码;
插入中文数据,提示,数据太长。
方法4:在mysql的bin下面MySQLInstanceConfig里置成utf8,乱码,无果。
插入中文数据,还未试。。
我个人觉得我输入的数据以latin1的编码方法编码,要转码,用方法1转码转出来却是乱码,于是用方法2进行每字段转码,还是乱码,烦燥,用方法3改my.ini,继续乱码,发狂。继续在MySQLInstanceConfig重新设置,还是乱码,遂崩溃矣~~~
修改my.ini里的default-character-set=utf8,重新启动MYSQL服务
在新的字符集下建表、插入记录
是不是原数据就没办法在mysql下修改了?
在你的JSP也用 latin1 应该就可以了。
这样你数据库中也是latin1, JSP告诉MYSQL用的也是LATIN1,MYSQL就会做自动转换了。
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
引用 是不是原数据就没办法在mysql下修改了? 没办法直接修改。
相关问答:
如题 数据是BLOB类型 怎么才能修改其中的某些值 BLOB中存入的是什么内容? 假设字段memo为blob类型,在该字段的值前面增加字符串'add--' 则操作语句如下: SQL code: update tb_blog set memo=concat( ......
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
SQL code: CREATE PROCEDURE A() BEGIN DECLARE 'Constraint Violation' CONDITION FOR sqlexception; DECLARE EXIT HANDLER FOR 'Constraint Violation' ROLLBACK; BEGIN TRAN ......
我开发ASP.net时 插入外文乱码 SHOW VARIABLES LIKE 'character%'; 这个时候 character_set_client utf8 character_set_connection utf8 character_set_database utf8 ch ......