查看mysql字段的编码_MySQL查看和修改字符编码的实现方法

MySQL查看和修改字符编码的实现方法

遇到一个插入数据库的乱码,因为是:mac版本的,按网上说的就是不能改变,其编码方式,

本人的机器:mysql-***.dmg默认安装后的编码是:如下图:有两个编码是:latin1,本人摸索了很久,就是不能改变过来。如果有人知道怎么可以:改变,可以在下面留言。没办法后来,使用了表级别的编码。

mysql> show variables like 'character%';

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

| Variable_name | Value |

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

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/local/mysql-5.6.38-macos10.12-x86_64/share/charsets/ |

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

MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。

1、需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后输入root用户的密码),查看数据库的编码方式命令为:

>show variables like 'character%';

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

| Variable_name | Value |

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

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

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

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

从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8;

character_set_client : 为客户端编码方式;

character_set_connection : 为建立连接使用的编码;

character_set_database : 数据库的编码;

character_set_results : 结果集的编码;

character_set_server : 数据库服务器的编码;

只要保证以上四个采用的编码方式一样,就不会出现乱码问题。

另一个查看数据库编码的命令:

>show variables like ‘collation%';

2、linux系统下,修改MySQL数据库默认编码的步骤为:

停止MySQL的运行

/etc/init.d/mysql start (stop) 为启动和停止服务器

MySQL主配置文件为my.cnf,一般目录为/etc/mysql

var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的data文件夹

当我们需要修改MySQL数据库的默认编码时,需要编辑my.cnf文件进行编码修改,在linux下修改mysql的配置文件my.cnf,文件位置默认/etc/my.cnf文件

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

init_connect='SET NAMES utf8'

[mysql]

default-character-set=utf8

init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

修改好后,重新启动mysql 即可,重新查询数据库编码可发现编码方式的改变:

## 原来

>show variables like 'character%';

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

| Variable_name | Value |

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

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

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

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

## 现在的

>show variables like 'character%';

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

| Variable_name | Value |

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

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

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

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

此方法用于标准mysql版本同样有效,对于/etc/my.cnf文件,需要从mysql/support-files的文件夹cp my-large.cnf一份到/etc/my.cnf

3、windows系统下可以删除MySQL数据库,并重新安装,在安装过程中可以直接用Mysql Server Instance Config Wizard 进行设置

4、当MySQL数据库服务器已经有数据不适合删除重装时,MySQL指定编码的方式是非常灵活并多样化的。

可以个别指定数据库的编码方式

可以指定表级别的编码

行级别编码

甚至可以指定字段级别的编码

以下示例给出创建数据库时指定编码的两种方式:

1)CREATE  DATABASE  ms_db  CHARACTER SET  utf8  COLLATE utf8_general_ci;

2)create  database  if  not  exists  netctoss  default character set utf8;

5、外部接入的方式,可以在连接中确定请求的编码格式如:jdbc:mysql://localhost:3306 /mysql?useUnicode=true&characterEncoding=utf-8(注意:不要出现任何空格,否则出错)

6、执行脚本:指定编码格式set names utf8(注意,不是UTF-8)可以修改

执行前:

执行后:

从执行命令前后可知,set names utf8只可以修改character_set_client、character_set_connection、 character_set_results的编码方式,并且这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效。也可发现数据库底层的编码方式没有改变,插入数据后还是以utf8编码方式保持。

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

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

相关文章

如何找到微信公众号的视频链接及视频?

我们经常在微信公众号中看到一些视频,那么有时候看到比较好的我们都希望能把这个视频下载下来,长久保存! 那么,如何找到视频的原链接并下载成为自己的视频呢?我给大家简单总结一下吧。 首先要明白微信公众号的视频来源只会出现在腾讯视频和微视两个平台。 ​以这个公众号…

对交换机VLAN及各种端口类型的理解

每学习一种技术时,我们往往需要去了解why,即这个技术是为解决什么问题而出现的。 VLAN全称为Virtual Local Area Network,即虚拟局域网,是逻辑上的一种划分。一般来说,如果交换机没有进行过配置,所有端口都…

mysql pdb文件怎么打开_如何利用.pdb文件去调试

问题需求:1.需要去调试一个exe,查看内部执行的过程,但是该exe的源代码是孤立的,利用make文件组织进行编译.每天会给出编译包。问题的分析:考虑1. 新建一个VS的工程,然后手动添加这些文件,然后编…

GetWeApp聊天室 代码(微信小程序)

说明: 实现聊天功能,特色: 使用webSocket实现即时通信 发送和显示表情 数据接口: 数据接口 目录结构&#

每个Java开发人员都必须避免的9个安全错误

Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全缺陷:源代码。 在这里查看 ! 自从1995年中期引入Java以来​​,它已经走了很长一段路。 它的…

[转]iPhone本地化总结

再做本地化的过程中参考了许多资料,现在的中文资料还是少之又少,希望能给大家一些帮助。 1、本地化字符串,网上那些方法我就不说了,我只更正一点:如果你的Classes下面有子文件夹会报错,使用下面的命令&…

mysql 字符集测试_MySQL多字符集备份恢复测试

目的:测试单mysql实例在多字符集的数据库环境中备份恢复的乱码问题准备工作:CREATE DATABASE utf8_db /*!40100 DEFAULT CHARACTER SET utf8 */;CREATE DATABASE latin_db /*!40100 DEFAULT CHARACTER SET latin1*/;CREATE TABLE utf8_db.utab ( id int…

2019年12月份最热门 Github 开源项目整理

12306 :12306 Star 25912 这个项目基本上是紧随着 12306 网站的功能更新而更新的,支持 12306 的所有基本功能。 ​ architect-awesome:网址 Star 41507 一套非常全面的后端架构师技术图谱,从数据结构与算法着手,带你学习后端技术的方方面面。 ​ chinese-poetry:网…

zoj 3640 概率dp

题意:一只吸血鬼,有n条路给他走,每次他随机走一条路,每条路有个限制,如果当时这个吸血鬼的攻击力大于等于某个值,那么就会花费t天逃出去,否则,花费1天的时间,并且攻击力增…

mysql 快照能否恢复某个表_mysql全库备份恢复某个表

早上小红过来问我说网站的一个功能没了,看了下数据库,少了个表。好吧,心里mmp,开始恢复数据环境: 全库备份 恢复某一个表1.1 查看备份数据[aiyeaiye mysql_backup]$ls -lhtotal 16G-rw-r--r-- 1 root root 5.4G May 21 00:58 2018…

【APICloud系列|9】APICloud自定义APPloader一个月未更新,快速更新的办法

时间比较紧,简单写一下流程。 1.登录APICloud后台,找到模块,自定APPLoader,直接编译ANdroid版本,下载到本地。 2.找到当时创建自定义apploader的文件夹,将下载的安装包复制过来,并重新命名为load.apk,删除原来的安装包。 3.修改load.conf配置文件.并保存关闭。 版本号从…

java行情一年比一年差_推动Java前进? 一个定义。 一年回顾。

java行情一年比一年差这篇文章是许多其他“年终”博客文章和评论之一。 但这并不是这样。 我试图总结一下我在2011年对Oracle和Java的了解,并且还试图解释“将Java向前推进”对我的意义以及我认为应该更好或更简单的改变。 感谢您全年关注我的博客,也感谢…

Pascal's Triangle II

Given an index k, return the kth row of the Pascals triangle. For example, given k 3,Return [1,3,3,1]. Note:Could you optimize your algorithm to use only O(k) extra space? Hide TagsArray方法一&#xff1a;保存所有二位数组 class Solution {public:vector<…

珍藏多年的视频文案网站

5g元年&#xff0c;视频需要的文案网站你值得拥有 一、TOPYS | 全球顶尖创意分享平台 网址链接&#xff1a;TOPYS:https://www.topys.cn/ TOPYS立志打造一个多元、完备的泛创意知识产品系统和学习平台&#xff0c;试图成为A Creative Institution&#xff0c;希望借由创意的学…

mysql keepalived双主双活_mysql高可用架构方案之中的一个(keepalived+主主双活)

Mysql双主双活keepalived实现高可用文件夹1、前言... 42、方案... 42.1、环境及软件... 42.2、IP规划... 42.3、架构图... 43、安装设置MYSQL半同步... 54、Keepalived实现MYSQL的高可用... 111、前言近期研究了下高可用的东西&#xff0c;这里总结一下mysql主主双活的架构方案…

基于Rx-netty和Karyon2的云就绪微服务

Netflix Karyon提供了一个干净的框架来创建可用于云的微服务。 在您的组织中&#xff0c;如果您使用包含Eureka的Netflix OSS堆栈进行服务注册和发现&#xff0c;使用Archaius进行资产管理&#xff0c;那么很可能会使用Karyon创建微服务。 Karyon最近发生了很多变化&#xff0…

中软国际 问题一php的优缺点

PHP的优点&#xff1a;  1. 跨平台&#xff0c;性能优越&#xff0c;跟Linux/Unix结合别跟Windows结合性能强45%&#xff0c;并且和很多免费的平台结合非常省钱&#xff0c;比如LAMP(Linux/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合&#xff0c;或者数据应用…

vue项目安装less_部署vue项目、安装mongodb

一、node运行环境1、npm install -g n 通过npm 全局安装node2、sudo n 8.16.0 设置node版本Password:install : node-v8.16.0mkdir : /usr/local/n/versions/node/8.16.0fetch : https://nodejs.org/dist/v8.16.0/node-v8.16.0-darwin-x64.tar.gz#############################…

电脑正常启动黑屏,安全模式正常启动的解决办法

今天早上起来&#xff0c;打开电脑&#xff0c;输入账号信息进入后发现是黑屏&#xff0c;本以为电脑卡顿等等看&#xff0c;我看还是黑屏就关机重启了几次发现还是黑屏&#xff0c;然后进入安全模式下发现页面能打开&#xff0c;但是我们都知道安全模式只会加载一些必要的程序…

NHibernate实例化类部分属性

NHibernate 为习惯SQL的开发者提供了接口&#xff0c;将查询的结果转变为持久化对象。虽然该方法不是很提倡。 GetCurrentSession().CreateSQLQuery(sql)参数sql就是实际要执行的sql语句。 如果需要将结果转化为持久换对象&#xff0c;那需要提供对象类型。 GetCurrentSession(…