扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Mysql数据库不能插入中文,一插入就报错,是代码输入错误造成的,解决方法如下:
目前创新互联公司已为千余家的企业提供了网站建设、域名、网络空间、成都网站托管、企业网站设计、赞皇网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1、首先使用insert语句,把数据插入到数据库表里。
2、运行后,发现插入语句报错了。点击语句,查看详情,提示说插入的中文语句是不正确的字符串内容。
3、这时右键点击插入数据的表,然后点击表设计。
4、打开表设计界面后,点击上方的Option选项。
5、默认新建的表字符集用的是latin1字符集。要插入中文内容,需要将其改成ubf8字符集。
6、除此之外,需要保存中文内容的字段,也需要将其改成utf8字符集。
7、修改好,保存后,再次运行插入sql语句,可以看到成功插入中文数据了。
1、创建测试表,
create table test_zw(id number, v_date date);
2、插入测试数据
insert into test_zw values(1,20190101);
insert into test_zw values(2,20190102);
insert into test_zw values(3,20190103);
insert into test_zw values(4,20190104);
3、查询表中记录,select t.* from test_zw t;
4、编写sql,将v_date字段翻译为中文'日期',select t.*, V_DATE AS '日期' from test_zw t;
1,创建table的时候就使用utf8编码
举个例子:
在每次创建表的时候都在最后加上 character set = utf8 就可以很好的支持中文。
2,修改已经有的table的编码
当使用默认编码创建了一个table的时候,是不能支持中文的,这时候使用如下语句对table_name进行修改:
此后再往这个table插入中文的时候,就可以正常存储和读取了,但不知道为什么之前的乱码还是不能纠正,只能新插入的数据没有问题。
[注意] 我google了一下,有些地方说这个命令也行,但是我测试以后并不行
alter table table_name charset=utf8; #这个语句并没有让table_name支持中文
mysql把语言改成中文的步骤如下:
第一步我们需要打开软件,创建一个数据库,如下图所示:
第二步创建数据库之后,需要创建一张汉字和拼音对照表,使用create table语句创表,如下图所示:
第三步我们打开表,可以看到成功创建一张名为t_base_pinyin的表,并且含有pin_yin_和code_两个字段,如下图所示:
第四步我们使用INSERT INTO t_base_pinyin () VALUES ()语句来给汉字拼音对照表添加对照数据,如下图所示:
第五步我们打开t_base_pinyin ,可以看到对照数据已经插入成功,如下图所示:
第六步我们最后需要创建一个拼音转换汉字的函数,输入完成之后进行执行,语句如下图所示:
第七步我们输入select to_pinyin('测试')语句进行查询,可以看到输出to_pinyin('测试'),ceshi,已经成功将中文转换成拼音,如下图所示:
下载MYSQL管理器MYSQL-Front中文版,点击此处下载MYSQL-Front中文版(含其他多语种) 默认安装为中文语言。
2、解压安装后,运行MySQL-Front.exe,可以系统设置里面设置语言,选择简体中文版本
3、打开登录信息,输入MYSQL数据库服务器相关参数: 设置服务器名,一定要用localhost:端口是默认的。字符集选GB2312:
4、输入MYSQL服务器的IP地址,例如:202.101.98.555、选择已经存在的数据库,输入MYSQL服务器的用户名和密码,以及MYSQL的数据库名称,点击确定后,选择“打开”6、如果输入的MYSQL数据库的IP、用户名、密码、数据库都正确后,就可以打开服务器了,然后通过“视图”-“SQL编辑器”将MYSQL的查询语句复制到SQL编辑器中,便可以迅速的将MYSQL数据库导入了。 7、MYSQL管理器的“对象浏览器”、“数据浏览器”可方便的建立、修改数据库表的结构及数据 补充说明:MySQL-Front软件操作简单,是一款非常不错的MYSQL管理软件,非常容易上手,初次使用该软件可能会有一些使用操作上的疑惑,多尝试几次就会熟练的。
navicat for mysql不能显示中文的方法如下:
1.首先修改mysql字符集,这个有说改配置文件,打开my.ini配置文件(MySQL的配置文件),加入:character_set_server = utf8
2.用的是命令行方式修改,如下:进入cmd命令,进入mysql的bin目录下,启动mysql;使用命令:show VARIABLES like 'character%'; 查看当前字符集,发现都是gbk等字符集,这时使用如下命令改变字符集:
mysql SET character_set_client = utf8 ;
mysql SET character_set_connection = utf8 ;
mysql SET character_set_database = utf8 ;
mysql SET character_set_results = utf8 ;
mysql SET character_set_server = utf8 ;
3.无论使用修改配置文件还是使用命令行修改字符集,修改完成后,需要重启mysql服务,这时,再用命令show VARIABLES like 'character%'; 查看当前字符集,已经生效。
4.由于,已经建立了数据库,这时还需要在Navicat for mysql中,将数据库的字符集也改掉。右键数据库,选择数据库属性,如图。 进入后,修改字符集为utf8
5.之后,还需要对每个表点击右键,选择 涉及表 ;然后在“选项”中,将表的字符集进行修改。
6.还需要将varchar类型 字段的的字符集也要改掉,进入设计表中,点中某字段,发现,数据类型果然还是Latin1,那么好,一个一个改过来即可。当然,也可以使用命令的方式修改,命令如下:ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
ps:可以先尝试修改字符,如果修改字符依旧无效可以使用上述的办法。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流