昨天准备把项目部署到linux,在初始化项目数据库时碰到了烦人的字符集问题,刚开始忘记了设置,因为默认是latin1,所有中文都成了?,于是按照网上的方法更改了/etc/my.cnf里的字符设置utf8,在DOS下使用insert int 插入一条中文记录,发现还是乱码,写个测试类插入却发现无法插入,'\UX\WE\',似乎还是编码的问题,早上到MySQL官网上查资料,换了好几个配置的组合都没有解决问题,终于在drop database后重建才解决了插入中文失败的问题。
现在总结一下,官网的资料:http://dev.mysql.com/doc/refman/5.1/zh/charset.html#charset-server
服务器字符集和校对规则可以用作character_set_server和collation_server系统变量的值
数据库的字符集和校对规则可以用作character_set_database和 collation_database系统变量
-----------------------------------------------------------------------------------------------------------------------
当查询离开客户端后,在查询中使用哪种字符集?
服务器使用character_set_client变量作为客户端发送的查询中使用的字符集。
服务器接收到查询后应该转换为哪种字符集?
转换时,服务器使用character_set_connection和collation_connection系统变量。它将客户端发送的查询从character_set_client系统变量转换到character_set_connection
character_set_results变量指示服务器返回查询结果到客户端使用的字符集。
对于mysql客户端,如果你希望使用与默认字符集不同的字符集,不需要每次启动时执行SET NAMES语句。可以在mysql语句行中或者选项文件中添加一个--default-character-set选项设置。例如,你每次运行mysql时,以下的选项文件设置把三个字符集变量修改为koi8r:
[mysql]
default-character-set=koi8r
--------------------------------------------为项目配置字符集-------------------------------------------
为项目配置MySQL的/dtc/my.cnf文件
[client]
default-character-set = gb2312 # 在XP下用putty登陆时select可显示中文
[mysqld]
default-character-set = utf8 # 项目环境为UTF8,一般linux环境也这么设置
#等于设置了character_set_database / character_set_server = utf8
[mysql]
default-character-set = gb2312 # XP下my.ini此项也这么设置,可以正常显示,影响以下三个设置
#等于设置了character_set_client character_set_connection character_set_results=gb2312
------------------------效果-------------------------------
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gb2312 |
| character_set_connection | gb2312 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gb2312 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
分享到:
相关推荐
总结一下,设置Linux下MySQL字符集为UTF-8主要包含以下几个步骤: 1. 找到`my.cnf`配置文件。 2. 在`[mysqld]`段落下添加UTF-8相关配置。 3. 保存并关闭配置文件。 4. 重启MySQL服务,使配置生效。 通过这些操作,...
在 Linux 系统中,MySQL 的字符集默认为 latin1,然而在某些情况下,我们需要修改 MySQL 的字符集以确保某些迁移的程序可以正常显示。在本文中,我们将介绍如何在 Linux 下修改 MySQL 的字符集。 首先,我们需要...
Linux下修改MySQL字符集 1.查找MySQL的cnf文件的位置 find / -iname '*.cnf' -print /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-large.cnf /usr/share/mysql/my-small.cnf /usr/share/mysql/...
字符集(Character Set)定义了数据在存储和处理时所采用的编码标准,而校对集(Collation)则规定了字符集下的排序规则和比较方式。在MySQL中,主要涉及以下几个关键变量: - `character_set_system`:系统默认...
### 如何修改MySQL字符集 在安装MySQL之后,默认情况下,MySQL服务器使用的字符集可能是`latin1`。然而,在实际的应用场景中,用户可能需要将字符集更改为其他字符集(例如`utf8`),以便更好地支持多语言环境下的...
Linux 下安装 MySQL 服务器 ...安装和配置 MySQL 服务器需要完成多个步骤,包括安装客户端和服务器端,设置数据库字符集和端口号,启动和停止服务,设置开机启动,解决启动报错问题,登录和忘记密码,允许远程访问等。
确保MySQL中的表结构也使用相同的字符集。可以通过以下命令查看当前表的字符集: ```sql SHOW CREATE TABLE table_name; ``` 如果需要更改表的字符集,可以使用如下命令: ```sql ALTER TABLE table_name ...
这个步骤允许你指定安装路径、服务端口、字符集等参数。一个基本的配置示例是: ```bash ./configure --prefix=/usr/local/mysql --with-extra-charsets=all --enable-thread-safe-client --with-ssl ``` 你可以...
总之,《MYSQL字符集与乱码问题分析》不仅回顾了字符集的发展历程,还详细解析了MySQL环境下字符集的配置与优化方法,对于预防和解决乱码问题具有重要的实践指导意义。通过对字符集的深入了解,开发者能够更好地应对...
### Linux下MySQL的配置详解 #### 一、安装MySQL 在Linux系统中安装MySQL可以通过RPM包进行。这里提供了一个示例命令: ```bash rpm -ivh MySQL-server-4.1.22-0.glibc23.i386.rpm --nodeps rpm -ivh MySQL-...
本篇文章将详细阐述如何将Linux下的MySQL 5.5或5.6版本的字符集编码更改为UTF8,以支持更多的语言和特殊字符。 首先,我们需要了解MySQL中字符集的概念。字符集(Character Set)定义了数据存储和检索时使用的字符...
### Linux 下 MySQL 安装与配置 #### 一、Ubuntu 下 MySQL 的安装步骤 在 Ubuntu 系统上安装 MySQL 需要经过一系列步骤来确保软件的正确安装和配置。 **1. 创建 MySQL 目录** ```bash [root@localhost zieckey]#...
#### 八、更改MySQL字符集 如果需要更改MySQL数据库的字符集,可以通过以下方式实现: 1. 修改MySQL启动参数: ``` mysqld_safe --default-character-set=gbk ``` 这会将默认字符集设置为GBK。 2. 更改特定...
在 Linux 系统中使用 MySQL 数据库时,可能会遇到字符集不匹配导致的数据乱码问题。通常这种现象表现为数据库中的文本数据无法正确显示或存储,出现各种奇怪的符号或者乱码。该问题主要是由于 MySQL 的字符集设置与...
#### 二、MySQL字符集基础概念 1. **字符集(Character Set)**:是用于表示文字编码的一种标准集合。例如UTF-8、GBK等。 2. **校对集(Collation)**:规定了如何比较和排序字符集中的字符。每个字符集可以有多个不同...
默认情况下,mysql 的字符集是 latin1,但是一般情况下我们需要使用 utf8 字符集,以便正确地显示中文。 在系统配置中,我们可以使用 LANG 变量来设置字符集。在 Linux 系统中,我们可以使用 cat 命令来查看系统...
这里的`--prefix`指定安装路径,`--with-extra-charsets`表示启用更多字符集支持。根据实际需求,还可以添加其他配置选项。 配置完成后,执行编译和安装: ```bash make && make install ``` 安装完成后,需要初始...