MySQL插入中文不乱码的5种方法

方法一:
登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句

mysql> set names latin1;
mysql> source test.sql;

方法二:
在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件

[root@localhost ~]# cat test.sql
set names latin1;
insert *****************;
mysql> source test.sql;

方法三:
在SQL文件中指定set names latin1;然后通过MySQL命令导入

[root@localhost ~]# mysql -uroot -p123456 test <test.sql

方法四:
通过指定MySQL命令的字符集参数实现--default-character-set=latin1


[root@localhost ~]# cat test.sql
insert *****************;
[root@localhost ~]# mysql -uroot -p123456 --default-character-set=latin1 test <test.sql

方法五:推荐此方法,但是建议使用utf8
在配置文件里设置客户端以及服务器端相关参数
即修改my.cnf 客户端的模块参数,可以实现set names utf8,且永久生效

[client]
 default-character-set=utf8
 无需重启MySQL,退出当前登录,重新登录即可
[server]
 default-character-set=utf8 5.1以前的版本
 character-set-server=utf8 5.5版本

库表,程序!

代码如下:

CREATE DATABASE wyb  DEFAULT CHARACTER SET utf8 collate utf8_general_cli;

字符集含义总结表

mysql> show variables like 'character_set%';

| character_set_client  | utf8  #客户端字符集
| character_set_connection | utf8  #链接字符集
| character_set_database | utf8  #数据库字符集,配置文件指定或者创建时指定
| character_set_results | utf8  #返回结果字符集
| character_set_server  | utf8  #服务器字符集,配置文件,或者创建库,表时候指定

本文出自 “crazy_sir” 博客

(0)

相关推荐

  • 简单解决Windows中MySQL的中文乱码与服务启动问题

    中文乱码问题 当我第一次接触mysql,首先让我难受的是mysql的乱码问题,百度上也有许多有关的解决方案,不过作为亲身受害者,我想很有必要贴出我的心声: 1.关于mysql的字符集处理 mysql在标识数据时采取二进制字符和非二进制字符格式,前者主要用来标识图片,声音,后者就完成剩余的所有功能,而对于后者,就存在字符集设置问题. 我们知道数据库是老外搞出来的,他们在设计的时候并没有考虑到编码格式的问题,在计算机流行的现代每个国家为了支持本国的语言,都推出了自己本国的编码格式,下面利用mysql

  • Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办

    项目开发中,在做Mybatis动态查询时,遇到了一个问题:MySQL在进行LIKE模糊查询时,输入英文可以正常检索出结果,但是输入中文后检索得到的结果为空. 由于是使用GET方式请求,所以为了确保中文不乱码,在控制台接收到请求参数后,对中文进行了一次编码. try { realName = new String(realName.getBytes("GBK"), "UTF-8"); } catch (UnsupportedEncodingException exce

  • MySQL从命令行导入SQL脚本时出现中文乱码的解决方法

    本文实例讲述了MySQL从命令行导入SQL脚本时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 在图形界面管理工具 MySql Query Browser中打开脚本(脚本包括建库.建表.添加数据),并执行,不会有任何问题:但是使用mysql命令行工具执行建库脚本时,添加数据中如果包含中文,存入的数据就是乱码或是???... 解决方法1:在MySql安装目录下找到my.ini,将[mysql]下的default-character-set=latin1改为default-characte

  • mysql 全文检索中文解决方法及实例代码

    mysql 全文检索中文解决方法             最近公司项目要求这样的功能,在数据库中检索中文,很是棘手,上网查询下资料,找的类似文章,这里及记录下,希望能帮助到大家, 实例代码:    <?php /* mysql全文检索中文解决方案! */ error_reporting(E_ERROR | E_WARNING | E_PARSE); ini_set('display_errors', '1'); //数据库支持 class SaeMysql{ //phpmysql操作类 } $D

  • PHP+MySQL存储数据常见中文乱码问题小结

    本文实例总结了PHP+MySQL存储数据常见中文乱码问题.分享给大家供大家参考,具体如下: PHP+MySQL出现中文乱码的常见原因: 1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码. 2. 使用MYSQL中创建表.或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码. 3. PHP页面的字符集与数据库的编码不一致. 4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不

  • MySql中表单输入数据出现中文乱码的解决方法

     MySQL会出现中文乱码的原因在于 1.server本身设定问题,一般来说是latin1 2.建库建表时没有制定编码格式. MySql中表单输入数据出现中文乱码的解决方法: 1.建库的时候 CREATE DATABASE test CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 2.建表的时候 CREATE TABLE content ( text VARCHAR(100) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

  • Mac Mysql数据库中文乱码问题解决

    Mac 下MySQL数据库中文乱码解决方案: 当我们用框架进行数据库的存储操作时,经常会遇到中文乱码的问题. 如:在使用Java中得SSH框架时,我们需要在web.xml文件中配置编码的filter,具体代码是: <span style="font-family:FangSong_GB2312;font-size:14px;"><!-- 表单处理乱码,必须在OpenSessionInViewFilter的filter之前 --> <filter> &

  • JSP MySQL插入数据时出现中文乱码问题的解决方法

    当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'张三','female','1995-10-08','2015-11-12','Sales',2000,'是个好员工!'); 出现乱码时,可以使用语句 show variables like 'character%'; 来查看当前数据库的相关编码集. 从上图中可以看到 MySQL 有六处使用了字符集,分别为:client .connection.database.results

  • MySQL插入中文不乱码的5种方法

    方法一: 登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句 mysql> set names latin1; mysql> source test.sql; 方法二: 在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件 [root@localhost ~]# cat test.sql set names latin1; insert *****************; mysql> source test.sq

  • JDBC连接mysql处理中文时乱码解决办法详解

    JDBC连接mysql处理中文时乱码解决办法详解 近日,整合的项目需要跟一个比较老版本的mysql服务器连接,使用navicat查看,发现此mysql服务器貌似没有设置默认编码,而且从操作此mysql的部分php文件看,应该是使用的gb2312的编码,但是,直接使用jdbc操作,从库中读取出来的中文全都是乱码. 一开始,使用类似entity.setDepartName(new String(rs.getString("hg").getBytes("gbk"), &q

  • 教你一招永久解决mysql插入中文失败问题

    前言 问题描述: Incorrect string value:'\xD5\xC5\xC8\xFD' for column 'name' at row 1; 本文是采用修改配置文件,也就几分钟搞定,修改前请备份~~ 有的小伙伴在mysql中插入中文会报错,那么我们要指定字符集. 使用一个命令可以查看当前数据的字符集~(没有修改的时候是拉丁文) show variables like '%character%'; 我们可以有临时解决方案,和永久解决的方案,这里我们只说永久解决的方案: 想要支持中文

  • php版微信公众平台回复中文出现乱码问题的解决方法

    本文实例分析了php版微信公众平台回复中文出现乱码问题的解决方法.分享给大家供大家参考,具体如下: 微信公众平开发时碰到回复中文乱码了,这个问题小编发现是编码问题,其实只要把编码转成utf8就可以解决了,具体来看看. 很多微信公众平台的自动回复程序都是 ThinkWechat.class.php 这个类开发的,今天碰到一个莫名其妙的乱码问题,查问题发现是GB2312编码导致,所以要修改源码. 先增加一个方法: /** * 检测是否UTF-8 * @param $str * @return boo

  • php获得刚插入数据的id 的几种方法总结

    向mysql 插入数据时 很多时候 我们想知道刚刚插入数据的id 这对我们很有用 下面我说出常用的三种方法并一一分析其利与弊. 一 用以下语句: mysql_query("select max(id) from t1",$link); 使用这种方法时 我们得到得是 id最大的值 的确时最后一个 但当多链接线程时这个最大的id并不一定是 我们插入的所以这个不利用域线程. 二 用以下函数: msyql_insert_id(); 当系统执行完INSERT后,再执行SELECT时,可能已经被分

  • 读写json中文ASCII乱码问题的解决方法

    今天要帮前端写一个小后台,就是读取数据然后转成json送给他,让他去展示.数据很简单,但是处理的时候遇到了一个问题,文件中涉及到了中文的处理,每次处理完写的json格式就是ASCII码,完全没办法用.代码如下: # -*- coding: utf-8 -*- import json import codecs f = codecs.open('data.txt', 'r', 'utf-8') content = json.load(f) print content[0]['id'] jsdata

  • Mysql 远程连接配置实现的两种方法

    Mysql 远程连接配置实现的两种方法 大家在公司工作中,经常会遇到mysql数据库存储于某个人的电脑上,大家要想连接mysql服务,装有mysql服务的电脑就必须开启远程连接. 第一种: root@ubuntu:/usr/local/MySQL# mysql -hlocalhost -uroot -proot; mysql>use mysql; mysql>insert into user ( host, user, password, Select_priv, Insert_priv, U

  • 详解MYSQL中重命名procedure的一种方法

    最近有用到对存储过程(procedure)重命名的功能,在网上找了一下资料都没有讲到在mysql中是如何实现的,当然可以删掉再重建,但是应该有别的方法,在"mysql"这个数据库(自带)中找了一下,发现两张表:func.proc,发现func表是空的,proc表记录了有关procedure和function有关的信息. 尝试对proc表进行更新,重命名成功了! 总结 以上所述是小编给大家介绍的MYSQL中重命名procedure的一种方法,希望对大家有所帮助,如果大家有任何疑问请给我留

  • MySql逗号拼接字符串查询的两种方法

    下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET 例如某字段里是为1,2,3,4,5 使用方法: 第一种,传入1,3,6  可以查出来 select * from XXX where FIND_PART_IN_SET('1,3,6','1,2,3,4,5') 第二种,传入1,3,6  查不出来 select * from XXX where FIND_ALL_PART_IN_SET(

  • python统计中文字符数量的两种方法

    方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = count_pu = 0 for s in str: # 英文 if s in string.ascii_letters: count_en += 1 # 数字 elif s.isdigit(): count_dg += 1 # 空格 elif s.isspace(): count_sp += 1 #

随机推荐