和windwos中的Mysql一樣,默認的設置都是latin1.而並非我們需要的gbk,或者big5.所以還是需要人爲的設置:
無論是採用telnet還是直接到Linux中進入mysql中:找到/etc/目錄下的my.cnf文件:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
以上默認的文件内容,現在把它修改為如下:
[mysqld]
default-character-set=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[client]
default-character-set=gbk
[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=utf8
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
紅色部分為增加的部分,其餘保持不變。
然後重新啓動Mysql服務器
執行命令:
set names 'gbk';
show variables like "character_set_%";
show variables like "collation_%";
看到的結果應該是:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_results | gbk |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)
mysql> show variables like "collation_%";
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | gbk_chinese_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
這樣儅windows程序訪問數據庫的時候就應該是會顯示正確了。如果還不行的話,可能看看在建立數據庫的時候有沒有制定了編碼:
比如:
CREATE DATABASE sample
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci ;
分享到:
相关推荐
Windows 访问远程 Linux 下 MySQL 乱码问题解决方案 在实践中,我们经常遇到 Windows 访问远程 Linux 下 MySQL 数据库时出现乱码问题。这种问题的主要原因是 Windows 和 Linux 的字符编码方式不同。Windows 使用的...
### Linux下MySQL解决乱码问题 #### 背景与问题描述 在使用Linux系统时,部分用户可能会遇到MySQL数据库无法正确显示或录入中文字符的问题,即所谓的“乱码”现象。这种问题不仅影响数据的准确性和完整性,还可能...
下文介绍如何解决linux下mysql中文乱码问题。 首先进入mysql命令行模式,键入mysql -uroot -p 即可进入。随后键入 SHOW VARIABLES LIKE 'character_set_%'; 若显示内容类似这样: +-------------------
### Linux 下 MySQL 数据库乱码问题详解 #### 一、问题背景及原因分析 在 Linux 系统中使用 MySQL 数据库时,可能会遇到字符集不匹配导致的数据乱码问题。通常这种现象表现为数据库中的文本数据无法正确显示或存储...
通过调整`my.cnf`文件中的字符集设置并重启MySQL服务,可以有效地解决Linux环境下MySQL中文乱码问题。此外,还需要确保数据库、表、字段以及使用的IDE等工具中的字符集设置一致,以避免因字符集不匹配导致的乱码问题...
### MySQL乱码问题解决方案 #### 一、问题背景 在MySQL数据库操作过程中,经常会遇到中文乱码的问题。尤其是在处理简体中文数据时,如果数据库或连接客户端的字符集设置不当,很容易导致显示乱码或者存储错误的...
### MySQL乱码问题解决办法 在使用MySQL的过程中,经常会出现字符显示乱码的问题,尤其是在处理中文数据时更为常见。本文将详细介绍如何通过多种途径解决MySQL中的乱码问题,包括更改MySQL服务器的字符集设置、调整...
通过对SecureCRT和MySQL客户端的字符集设置进行合理调整,可以有效解决在Linux环境下通过SecureCRT查看MySQL数据时出现的乱码问题。此外,还需要注意在使用命令行工具时正确指定字符集参数,以确保数据的一致性和...
Linux 乱码问题解决方案 Linux 乱码问题解决方案是指在 Linux 操作系统中出现的乱码问题的解决方法。乱码问题是指在 Linux 系统中,中文字符无法正确显示或乱码的问题。本文将介绍 Linux 乱码问题的解决方案,包括...
Ubuntu MySQL 中文乱码问题解决方案 在 Ubuntu 系统中,MySQL 数据库中文乱码问题是一个常见的问题。乱码问题可能是由于 MySQL 数据库的字符编码设置不正确所致。解决这个问题需要对 MySQL 数据库的字符编码进行...
Linux 下 MySQL 基本配置及操作 在 Linux 系统中,MySQL 是一个非常流行的关系型数据库管理系统。为了能够正确地使用 MySQL,我们需要了解如何启动和停止 MySQL 服务,如何配置 MySQL 的字符编码,如何执行基本的...
Navicat MySQL 连接 Linux 下 MySQL 问题解决方案 Navicat MySQL 连接 Linux 下 MySQL 问题解决方案是指在使用 Navicat 连接 Linux 下的 MySQL 数据库时可能出现的一些问题和解决方案。 1. 无法连接 MySQL 数据库...
最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节)
在MySQL安装目录下的`my.ini`或Linux环境下的`/etc/my.cnf`配置文件中,确保`default-character-set`参数被正确设置为支持中文的字符集,如`gbk`或`utf8`。例如: ``` [mysqld] default-character-set=utf8 ``` 这...
本篇文章将详细介绍如何排查与解决Linux系统下MySQL显示乱码的问题。 #### 一、了解乱码产生的原因 在分析问题之前,我们需要先了解乱码产生的几个主要因素: 1. **客户端与服务器端字符集不一致**:如果客户端...
### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是常见的问题之一,尤其是在数据库初始设置不当时,更容易出现此类问题。本文将详细介绍如何彻底解决MySQL中的中文乱码问题。 #### 一、理解中文...
在使用PHP+MySQL进行开发的过程中,中文乱码问题是常见的一个问题。乱码现象通常发生在从数据库查询中文数据时,显示出来的中文变成了不可识别的符号或者问号。产生这种现象的主要原因是**编码不一致**。 1. **...