`

mysql数据库编码(转载)

 
阅读更多

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的date文件夹
ü        当我们需要修改MySQL数据库的默认编码时,需要编辑my.cnf文件进行编码修改,在linux下修改mysql的配置文件my.cnf,文件位置默认/etc/my.cnf文件

找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

修改好后,重新启动mysql 即可,重新查询数据库编码可发现编码方式的改变:
>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 gbk(注意,不是UTF-8)可以修改
执行前:
执行后:
从执行命令前后可知,set names gbk只可以修改character_set_client、character_set_connection、 character_set_results的编码方式,并且这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效。也可发现数据库底层的编码方式没有改变,插入数据后还是以utf8编码方式保持。

分享到:
评论

相关推荐

    更改MySql数据库的默认编码格式

    一、设置数据库编码 在安装 MySQL 时,我们可以选择编码格式。如果已经安装过 MySQL,可以更改配置文件 my.ini 中的设置以达到目的。my.ini 文件位于 MySQL 的安装目录下。打开文件,找到以下两处: [client] port...

    h2数据导入mysql数据库(看评论酌情下载)

    h2 数据库导入 MySQL 数据库 h2 数据库导入 MySQL 数据库是指将 h2 数据库中的数据导入到 MySQL 数据库中,以便更好地存储和管理数据。下面将详细介绍 h2 数据库导入 MySQL 数据库的步骤。 首先,需要创建一个 ...

    Informatica连接Mysql数据库案例

    Informatica 连接 Mysql 数据库案例 Informatica 是一个功能强大的数据集成平台,支持多种数据源的连接和集成,本文档将详细介绍 Informatica 连接 Mysql 数据库的步骤和配置。 Informatica 连接 Mysql 数据库的...

    MYSQL数据库大进级,是非常全面的MYSQL数据库进阶学习资料!

    MYSQL数据库大进级,是非常全面的MYSQL数据库进阶学习资料!

    Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)

    MySQL数据库编码问题涉及到字符集的选择、配置以及数据的迁移和处理。字符集是决定数据库中存储和检索文本数据的方式,对于多语言支持和数据迁移至关重要。UTF-8是一种广泛使用的多字节字符编码,支持全球大部分语言...

    国家开放大学 MySQL数据库应用 实验训练1 在MySQL中创建数据库和表

    "国家开放大学 MySQL数据库应用实验训练1 在MySQL中创建数据库和表" 本实验训练旨在让学生掌握 MySQL 中的数据库和表的创建过程。 MySQL 是一种关系型数据库管理系统,广泛应用于各种领域。为提高学生的实践能力,...

    MySQL数据库巡检手册 MySQL DBA必备

    MySQL数据库巡检手册是MySQL数据库管理员(DBA)在进行数据库管理和维护工作中非常重要的参考资料。巡检手册包含了数据库性能、安全、运行状况等方面的检查项,以确保数据库能够正常稳定运行,及时发现并解决潜在问题...

    VB6.0连接MySQL数据库

    本文将详细地介绍新手如何使用VB6.0连接MySQL数据库,并提供清晰的步骤。 首先,要使VB6.0能够连接到MySQL数据库,需要在VB6.0的应用程序中引用MySQL的数据库引擎。由于VB6.0本身并不直接支持MySQL,所以一般需要...

    matlab访问mysql数据库教程及代码

    MATLAB 访问 MySQL 数据库教程及代码 MATLAB 是一个功能强大的数学计算软件,而 MySQL 是一个流行的关系数据库管理系统。在本教程中,我们将学习如何使用 MATLAB 访问 MySQL 数据库,并提供详细的代码示例。 一步...

    MySQL数据库应用形考实验1-4全答案.zip

    MySQL数据库是一种广泛应用于Web开发和企业级数据存储的开源关系型数据库管理系统。在这个"MySQL数据库应用形考实验1-4全答案.zip"压缩包中,包含了四个关于MySQL基础操作的实验训练,涵盖了从数据库和表的创建,到...

    MySQL数据库技术与项目应用教程教案.pdf

    MySQL数据库技术是目前广泛使用的关系型数据库管理系统之一,它采用标准的SQL语言作为数据操作和查询的手段,能够高效地管理大量数据。在本教案中,将重点介绍MySQL数据库的安装、配置,以及字符集设置等技术点,并...

    腾讯云数据库mysql产品认证答案

    腾讯云数据库mysql产品认证答案涵盖了mysql数据库、腾讯云、云数据库、mysql数据库认证和腾讯云云数据库产品等方面的知识点,是一份非常重要的认证考试答案,能够帮助考生更好地掌握mysql数据库管理和维护知识。

    mysql数据库基础视频

    mysql数据库基础视频178讲,包括视频、sql脚本、ppt、以及复习资料

    导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序

    导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序 导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序 导出 MySQL数据库表结构...

    MySQL数据库.ppt

    详细的解读了mysql数据库的增删改查,存储过程和存储函数,事务等等,以及各种数据库工具的使用教程。

    java jsp 连接mysql数据库 jar包

    java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包

    MySQL数据库巡检报告

    MySQL数据库巡检报告

    C++操作mysql数据库封装

    zynq平台mysql数据库C++操作代码 zynq平台mysql数据库C++操作代码 zynq平台mysql数据库C++操作代码 zynq平台mysql数据库C++操作代码 zynq平台mysql数据库C++操作代码 zynq平台mysql数据库C++操作代码 zynq平台mysql...

Global site tag (gtag.js) - Google Analytics