`

学习 查看修改mysql编码方式

阅读更多

 

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 客户端与服务器结构 MySQL 是一个关系型数据库管理系统(DBMS),采用客户端/服务器架构。在该架构中,客户端通过网络与服务器进行通信。 1. **客户端验证:** 验证客户端连接...

    mysql学习管理工具

    修改MySQL用户的密码是常见需求之一,可以通过以下命令实现: ``` mysqladmin -uroot password ab12 ``` 此命令将root用户的密码更改为`ab12`。需要注意的是,首次使用root用户时,可能无需输入旧密码。 #### 授予...

    基于php和mysql的网站模板

    在这个案例中,"utf-8版本"和"gbk版本"可能指的是模板的两种字符编码方式。UTF-8是国际化的编码标准,能支持世界上大部分语言;GBK是中文编码,兼容GB2312,但不支持部分非中文字符。选择合适的编码方式对于正确显示...

    Expert_MySQL-3313

    ##### (一)修改MySQL源代码的原则 在这一部分,我们将探讨如何获取MySQL源代码以及修改源代码的基本原则。首先,我们需要了解可用的许可选项。 ##### (二)理解许可选项 在规划对开源软件进行修改时,你需要...

    mysql学习及复习笔记

    总的来说,MySQL学习涉及许多基础概念和操作,包括数据库的创建、删除、选择,表的建立、修改和删除,以及数据的插入、查询、更新和删除。熟悉这些基本操作是深入理解和使用MySQL的关键。同时,了解SQL标准和不同...

    MySQL Workbench

    启动MySQL Workbench的方式是在Windows操作系统中,通过开始菜单找到“所有程序”,然后在MySQL目录下选择“MySQL Workbench 6.0 CE”来打开。启动后,你会看到一个直观的界面,包含三个主要面板:Management(管理...

    深入浅出MySQL数据库1

    - **修改数据库编码方式**: - `ALTER DATABASE db_name [DEFAULT] CHARACTER SET [=] charset;`:更改指定数据库的编码方式。 - **选择和删除数据库**: - `USE db_name;`:选择并使用名为 `db_name` 的数据库。...

    mysql提权udf

    MySQL UDF(User Defined Function)是指用户自定义函数,它允许开发者扩展MySQL数据库系统的功能,创建自己的函数以处理特定的数据操作。在网络安全领域,"mysql提权udf"常常指的是利用UDF进行权限提升的技巧,这...

    第01篇:MySQL注入点写WebShell的5种方式1

    虽然文中未详细阐述,但还有其他方法可以尝试,如利用触发器、存储过程,或者通过修改数据库配置间接写入文件。 在实践这些方法时,需要注意以下几点: - 避免被检测:使用编码、混淆、多层嵌套等技术来隐藏SQL注入...

    PHP、MySQL与JavaScript学习手册 第4版

    ### PHP、MySQL与JavaScript学习手册 第4版 #### PHP篇 **PHP简介** PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发,并可嵌入HTML中。PHP支持大多数流行的数据库,如MySQL、Oracle等,因此在网站开发领域...

    mysql知识点

    - MySQL 5.0及以上版本不允许直接修改数据库名称或编码格式等属性,若需修改可采用以下步骤: - 备份数据库。 - 删除原数据库。 - 重新创建新的数据库。 **4. 查询数据库** - **查看所有数据库**:`SHOW ...

    ebook学习mysql的pdf电子书

    10. **字符集与排序规则**: 字符集定义了数据的编码方式,如`UTF-8`,而排序规则决定了数据的排序方式。`ALTER TABLE`语句可用于更改表的字符集和排序规则。 11. **处理缺失数据**: 当数据中存在NULL值时,可以使用...

    阿里巴巴MySQL开发规范

    ### 阿里巴巴MySQL开发规范详解 #### 一、概述 ...对于希望深入学习MySQL或提升自己技能的人来说,遵循这些规范是非常重要的。同时,这些规范也有助于构建更加健壮、高效和易于维护的数据库系统。

    mysql 精简版 1.8mb

    总的来说,"mysql 精简版 1.8mb" 是一个适用于轻量级应用和学习环境的MySQL版本,它的便捷性和低门槛使得初学者和小型项目能够快速地体验和利用数据库管理的强大功能。在使用过程中,务必注意安全性和后续的维护工作...

    BeanSoft MySQL Java 开发套装.doc

    3. **JDBC驱动**: 包含了MySQL的JDBC驱动(MySQL Connector/J),它是Java应用程序连接到MySQL数据库的标准方式。有了JDBC驱动,开发者可以在Java程序中方便地进行数据库操作。 4. **示例代码**: 提供了解决中文...

    Mysql相关使用总结

    ##### MySQL 配置选项(编码方式) MySQL 支持通过配置文件来指定默认字符集: - **[mysql]**:这是客户端的配置部分。 - `default-character-set=utf8`:指定客户端使用的默认字符集为 UTF-8。 - **[mysqld]**:...

    mysql笔记.txt

    - **端口号设置**:默认情况下MySQL使用的端口为3306,如果需要更改端口号,可以在my.ini文件中修改。 - **字符集设置**:推荐使用UTF8编码来确保对各种字符的支持。在安装过程中可以选择合适的字符集。 - **环境...

    Win7系统装MySQL5.5.27图解

    14. 在打开的字符编码的页面中,设置 mysql 要使用的字符编码,第一个是西文编码,第二个是多字节的通用 utf8 编码,第三个是手动,我们选择 utf-8,如果在这里没有选择 UTF-8 这个编码的化,在使用 JDBC 连接数据库...

Global site tag (gtag.js) - Google Analytics