mysql的乱码问题一直比较头痛,由于它默认的字符集是latin,在数据库中执行mysql>SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin |
| character_set_connection | latin |
| character_set_database | latin |
| character_set_filesystem | binary |
| character_set_results | latin |
| character_set_server | latin |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
一般我们开发的系统都会用到需要显示中文的情况,网页一般就会设置成GBK,比如页面开头都会写上(以jsp为例子):
要保证不乱码,要确保从数据库到页面显示采用统一的字符集,网上很多都建议采用统一的UTF-8来处理,根据我的实践发现,这样做的唯一缺点,就是很多mysql的前台工具好象对UTF-8支持的有问题,比如我用的EMS SQL Manager 2005 for MySql,我将所有的都设置成UTF-8后,它对于中文就是显示?????,虽然在程序中运行无误.
下面我就先说说我是怎么做的,将mysql设置成GBK的字符集,保证中文无乱码:
(1)从/usr/share/mysql目录下copy 文件my-medium.cnf 到/etc下,并将改文件改名为my.cnf.
(2)在my.cnf(window下是my.ini文件)文件中找到 [mysqld] 在这里添加:default-character-set = GBK ,然后找到[mysql] 在这里也添加上default-character-set = GBK,保存后退出.(当然若要设置成UTF-8也一样,改成default-character-set = UTF-8即可).
然后重起mysql server,(去/etc/init.d/执行./mysql stop & ./mysql start),再次去数据库执行mysql>SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
会发现字符集都变成GBK了.
(3)建立GBK编码的数据库,mysql>CREATE DATABASE d4 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;(修改存在的数据库的字符集 mysql>alter database testdb character set GBK;)
分享到:
相关推荐
本文将详细介绍如何在Linux环境下配置MySQL,以解决乱码问题,确保中文字符能够被正确地存储、检索和显示。 #### 解决方案步骤详解 1. **编辑MySQL配置文件** 首先,需要编辑MySQL的配置文件`my.cnf`。如果该...
解决Linux环境下MySQL中文乱码问题的方法主要集中在调整字符集设置上。具体步骤如下: 1. **编辑my.cnf配置文件**: - 使用文本编辑器打开`/etc/my.cnf`文件(在某些发行版中可能是`/etc/mysql/my.cnf`)。 - 在`...
通过上述步骤,可以有效地解决 Linux 下 MySQL 数据库乱码的问题。关键是确保从数据库服务器到客户端应用程序的所有组件都正确地配置了字符集。此外,还需要注意其他可能影响字符集设置的因素,如 Web 服务器和应用...
Windows 访问远程 Linux 下 MySQL 乱码问题解决方案 在实践中,我们经常遇到 Windows 访问远程 Linux 下 MySQL 数据库时出现乱码问题。这种问题的主要原因是 Windows 和 Linux 的字符编码方式不同。Windows 使用的...
Linux 乱码问题解决方案是指在 Linux 操作系统中出现的乱码问题的解决方法。乱码问题是指在 Linux 系统中,中文字符无法正确显示或乱码的问题。本文将介绍 Linux 乱码问题的解决方案,包括安装 ibus 输入法、fcitx ...
Ubuntu MySQL 中文乱码问题解决方案 在 Ubuntu 系统中,MySQL 数据库中文乱码问题是一个常见的问题。乱码问题可能是由于 MySQL 数据库的字符编码设置不正确所致。解决这个问题需要对 MySQL 数据库的字符编码进行...
### MySQL乱码问题解决方案 #### 一、问题背景 在MySQL数据库操作过程中,经常会遇到中文乱码的问题。尤其是在处理简体中文数据时,如果数据库或连接客户端的字符集设置不当,很容易导致显示乱码或者存储错误的...
在解决MySQL乱码问题前,首先需要了解MySQL中与字符集相关的配置项及其含义: 1. **`character_set_system`**:系统默认使用的字符集。 2. **`character_set_server`**:服务器默认使用的字符集。 3. **`character_...
### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是常见的问题之一,尤其是在数据库初始设置不当时,更容易出现此类问题。本文将详细介绍如何彻底解决MySQL中的中文乱码问题。 #### 一、理解中文...
通过对SecureCRT和MySQL客户端的字符集设置进行合理调整,可以有效解决在Linux环境下通过SecureCRT查看MySQL数据时出现的乱码问题。此外,还需要注意在使用命令行工具时正确指定字符集参数,以确保数据的一致性和...
在Linux平台上进行PHP和MySQL的开发时,遇到中文乱码问题是一个常见的困扰。这主要涉及到字符编码设置不一致的问题。本文将详细介绍如何解决Linux(如Ubuntu 14.04 LTS)上PHP与MySQL通信产生的中文乱码问题。 首先...
### MySQL中文乱码问题解析与解决方案 在使用MySQL数据库处理中文数据时,遇到乱码问题是较为常见的技术挑战。本文将详细解析导致MySQL中文乱码的原因,并提供一系列有效的解决方案,涵盖从系统配置、数据库创建到...
下文介绍如何解决linux下mysql中文乱码问题。 首先进入mysql命令行模式,键入mysql -uroot -p 即可进入。随后键入 SHOW VARIABLES LIKE 'character_set_%'; 若显示内容类似这样: +-------------------
### PHP+MySQL中文乱码解决办法详解 #### 一、乱码产生的原因 在使用PHP+MySQL进行开发的过程中,中文乱码问题是常见的一个问题。乱码现象通常发生在从数据库查询中文数据时,显示出来的中文变成了不可识别的符号...
《MySQL字符集与乱码问题分析》一文深入探讨了字符编码的历史背景、技术细节以及在MySQL中的应用,尤其关注解决常见的乱码问题。本文将根据提供的内容摘要,详细阐述其中涉及的关键知识点。 ### 字符集背景知识 ##...
### MySQL显示乱码问题解析及解决方案 ...通过以上步骤,大多数情况下可以有效地解决MySQL在Linux环境下出现的乱码问题。如果仍然存在问题,建议进一步检查具体的应用逻辑以及数据导入导出过程中的字符集转换情况。
在Linux环境下,特别是Scientific Linux系统中,使用NetBeans 6.8集成开发环境进行JSP开发时,可能会遇到与MySQL 5.1数据库连接后出现中文乱码的问题。这个问题通常由于字符集设置不匹配导致,本文将详细解析如何...