c mysql 编码_mysql编码转换 mysql编码设置详解

查看mysql编码:

一、 代码示例:

mysql> show variables like 'character_set_%';

+--------------------------+----------------------------+

| variable_name | value |

+--------------------------+----------------------------+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

7 rows in set (0.00 sec)

mysql> show variables like 'collation_%';

+----------------------+-------------------+

| variable_name | value |

+----------------------+-------------------+

| collation_connection | latin1_swedish_ci |

| collation_database | latin1_swedish_ci |

| collation_server | latin1_swedish_ci |

+----------------------+-------------------+

3 rows in set (0.00 sec)

默认就是瑞典latin1,一下是换成我们自己的编码,如utf8:

外部访问数据乱码的问题就出在这个connection连接层上,解决方法是在发送查询前执行一下下面这句:

1. set names 'utf8';

它相当于下面的三句指令: 代码示例:

set character_set_client = utf8;

set character_set_results = utf8;

set character_set_connection = utf8;

一般只有在访问之前执行这个代码就解决问题了,下面是创建数据库和数据表的,设置为我们自己的编码格式。

2. 创建数据库 代码示例:

mysql> create database name character set utf8;

3. 创建表 代码示例:

create table `type` (

`id` int(10) unsigned not null auto_increment,

`flag_deleted` enum('y','n') character set utf8 not null default 'n',

`flag_type` int(5) not null default '0',

`type_name` varchar(50) character set utf8 not null default '',

primary key (`id`)

) default charset=utf8;

4. 修改数据库成utf8的. 代码示例:

mysql> alter database name character set utf8;

5. 修改表默认用utf8. 代码示例:

mysql> alter table type character set utf8;

6. 修改字段用utf8 代码示例:

mysql> alter table type modify type_name varchar(50) character set utf8;

二、编码算是mysql最难弄的问题了,研究了一下,总结点结果,部分来自其他人的经验,如有不妥之处,请踊跃叽歪啊。。。

设置步骤:

一、编辑mysql的配置文件

mysql的配置文件windows下一般在系统目录下或者在mysql的安装目录下名字叫my.ini,可以搜索,linux下一般是 /etc/my.cnf 代码示例:

--在 [mysqld] 标签下加上三行

default-character-set = utf8

character_set_server = utf8

lower_case_table_names = 1 //表名不区分大小写(此与编码无关)

--在 [mysql] 标签下加上一行

default-character-set = utf8

--在 [mysql.server]标签下加上一行

default-character-set = utf8

--在 [mysqld_safe]标签下加上一行

default-character-set = utf8

--在 [client]标签下加上一行

default-character-set = utf8

二、重新启动mysql服务

windows可在服务管理器中操作,也可使用命令行: 代码示例:

net stop mysql 回车

net start mysql 回车

服务名可能不一定为mysql,请按自己的设置

linux下面可是用 service mysql restart

如果出现启动失败,请检查配置文件有没有设置错误

三、查看设置结果

登录mysql命令行客户端:打开命令行

mysql –uroot –p 回车

输入密码

进入mysql后 执行 : 代码示例:

show variables like "%char%";

显示结果应该类似如下: 代码示例:

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

如果仍有编码不是utf8的,请检查配置文件,也可使用mysql命令设置: 代码示例:

set character_set_client = utf8;

set character_set_server = utf8;

set character_set_connection = utf8;

set character_set_database = utf8;

set character_set_results = utf8;

set collation_connection = utf8_general_ci;

set collation_database = utf8_general_ci;

set collation_server = utf8_general_ci;

以上命令有部分只对当前登录有效,所以不是很管用。

四、建库导入数据

导入sql脚本文件前,先确保该脚本文件及内容格式为utf-8编码格式,

同以上方法登入mysql命令行,use 库名 进入相应数据库

set names utf8;

source sql脚本文件名;

五、程序连接字符串(此项与mysql设置无关,为程序开发使用)

对于较老的jdbc版本的驱动,连接字符创可使用一下相似格式:

jdbc:mysql://127.0.1:3306/test?useunicode=true&characterencoding=utf-8

六、附录

如果无法更改数据库配置文件,可以采取一下方法(不保证全部有效):

1、建数据库时设置数据库编码为utf-8

例如 代码示例:

create database `test` default character set utf8;

2、导入数据库sql的时候,请确保sql文件为utf-8编码

进入mysql命令行后输入 set names utf8;

再进入数据库 use test;

在导入sql脚本 source test.sql;

3、连接字符串类似如下:(开发相关,非数据库设置) 代码示例:

jdbc:mysql://127.0.1:3306/test?useunicode=true&characterencoding=utf-8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2015蓝桥杯省赛---java---B---2(立方变自身)

题目 立方变自身 分析 简单枚举 i^3 99之后&#xff0c;数字越大&#xff0c;数字之和越不可能等于其自身。 代码 package com.atguigu.TEST;public class Demo01 {private static int ans;public static void main(String[] args) { // 6for (int i 1; i < 99; i) {…

Spring 由构造函数自动装配

转载自 Spring 由构造函数自动装配 Spring 由构造函数自动装配 这种模式与 byType 非常相似&#xff0c;但它应用于构造器参数。Spring 容器看作 beans&#xff0c;在 XML 配置文件中 beans 的 autowire 属性设置为 constructor。然后&#xff0c;它尝试把它的构造函数的参数…

ssm(Spring+Spring mvc+mybatis)Spring配置文件——applicationContext-servlet.xml

<?xml version"1.0" encoding"UTF-8"?> <beansxmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:p"http://www.springframework.org/schema/p"xm…

【南京】.Net 开源基础服务线下技术交流会

南京地区的.net开发人员对基础服务这块感兴趣的&#xff0c;欢迎大家参加及会后继续交流&#xff0c;踊跃参与&#xff01;若对基础服务相关有深度技术交流的&#xff0c;后续交换联系方式&#xff0c;可一起深度合作。 .NET技术行业落地分享交流会 邀请南京地区.NET技术专家和…

mysql 语句块语法_MySQL ------ MySQL常用语句的语法 (三十四)

MySQL常用的语句语法注意&#xff1a;1、 | 符号用来指出几个选中中的一个&#xff0c;因此NULL | NOT NULL 表示给出null 或 not null2、包含在方括号中的关键字或子句是可选的(如 [like this])3、既没有列出所有的MySQL语句&#xff0c;也没有列出每一条子句和选项4、大写的表…

ssm(Spring+Spring mvc+mybatis)Spring配置文件——applicationContext.xml

<?xml version"1.0" encoding"UTF-8"?> <beansxmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:p"http://www.springframework.org/schema/p"xm…

图的广度优先算法+遍历

图解 代码实现 package com.atguigu.graph;import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList;/*** 创建人 wdl* 创建时间 2021/4/2* 描述*/ public class Graph {private ArrayList<String> vertexList;//存储顶点集合private int[][…

Spring @Required 注释

转载自 Spring Required 注释 Spring Required 注释 Required 注释应用于 bean 属性的 setter 方法&#xff0c;它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中&#xff0c;否则容器就会抛出一个 BeanInitializationException 异常。下面显示的是一个使用 Requir…

vue父子组件生命周期顺序_vue父子组件生命周期执行顺序

Parent-- Child1-- Child2装载parent beforeCreateparent createdparent beforeMountchild1 beforeCreatechild1 createdchidl1 beforeMountchild2 brforeCreatechild2 createdchild2 beforeMountchild1 mountedchild2 mountedparent mounted更新parent beforeUpdatechild1 bef…

.Net异步编程知多少

1. 引言 最近在学习Abp框架&#xff0c;发现Abp框架的很多Api都提供了同步异步两种写法。异步编程说起来&#xff0c;大家可能都会说异步编程性能好。但好在哪里&#xff0c;引入了什么问题&#xff0c;以及如何使用&#xff0c;想必也未必能答的上来。 自己对异步编程也不是很…

指纹识别开发1.0

在不久之前&#xff0c;用java和C#分别开发了个人脸识别&#xff0c;感觉挺不错的&#xff0c;于是脑袋一发热&#xff0c;想了想能不能搞个指纹识别&#xff0c;答案当然是能&#xff0c;那么问题来了&#xff0c;在人脸识别的时候可以借助自带摄像头提取你的face&#xff0c;…

Spring @Autowired 注释

转载自 Spring Autowired 注释 Spring Autowired 注释 Autowired 注释对在哪里和如何完成自动连接提供了更多的细微的控制。 Autowired 注释可以在 setter 方法中被用于自动连接 bean&#xff0c;就像 Autowired 注释&#xff0c;容器&#xff0c;一个属性或者任意命名的可…

DFS VS BFS

实际案例 代码实现 package com.atguigu.graph;import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList;/*** 创建人 wdl* 创建时间 2021/4/2* 描述*/ public class Graph {private ArrayList<String> vertexList;//存储顶点集合private in…

CLR运行时细节 - Method Descriptor

方法描述符:MethodDesc 运行时用来描述类型的托管方法,它保存在方法描述桶(MethodDescChunk)内;方法描述符保存了方法在运行时的一些重要信息:是否JIT编译;是否有方法表槽(决定了方法入口是跟在方法描述符(MethodDesc)后还是在方法表(MethodTable)后面);距离MethodDescChunk的索…

beanutil 批量copy_BeanUtils.copyProperties 需要getset方法支持

今天在调用这个方法时&#xff0c;发现属性没有映射上&#xff0c;结果一看是model类没有加上getset方法 PropertyDescriptor[] targetPds getPropertyDescriptors(actualEditable); List ignoreList (ignoreProperties ! null ? Arrays.asList(ignoreProperties) : null);f…

ssm(Spring+Spring mvc+mybatis)mybatis配置文件——mybatis-config.xml

<?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><settings><!-- 打印查…

2015蓝桥杯省赛---java---B---3(三羊献瑞)

题目 三羊献瑞 思路分析 由于是填空题&#xff0c;没有时间和内存的要求&#xff0c;所以看到这个题&#xff0c;第一想法就是暴力破解&#xff0c;当然了&#xff0c;怎么快就怎么做。 由于 "三"是数字的首位&#xff0c;低位的数字进位后必然为1&#xff0c;所…

Spring @Qualifier 注释

转载自 Spring Qualifier 注释 Spring Qualifier 注释 可能会有这样一种情况&#xff0c;当你创建多个具有相同类型的 bean 时&#xff0c;并且想要用一个属性只为它们其中的一个进行装配&#xff0c;在这种情况下&#xff0c;你可以使用 Qualifier 注释和 Autowired 注释通…

mysql common是什么_MySQL common_schema简介

common_schema为MySQL提供了查询脚本&#xff0c;分析并且信息化的视图和一个函数库&#xff0c;以便更容易的管理和诊断。它引入的一些基于SQL的工具简common_schema的简介&#xff1a;Shlomi Noach 的common_schema项目()是一套针对服务器脚本化和管理的强大的代码和视图。co…

ssm(Spring+Spring mvc+mybatis)——web.xml

<?xml version"1.0" encoding"UTF-8"?> <web-app version"3.0" xmlns"http://java.sun.com/xml/ns/javaee" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://java.sun.co…