最近在做ProjectForge的源码修改,当然改用了MySQL数据库,但改过之后,有一个蛮讨厌的问题,当然是乱码了。
PF这边使用的是UTF-8编码,按照设想UTF-8应该是一切正常的啊,原来还是需要在MySQL这边做一些设定:
彻底解决方案:
修改Linux下的/etc/my.cnf文件,我的Linux版本为RHEL6.1,MySQL是本地源安装的,版本号为5.1.52,这里我贴出我的/etc/my.cnf文件,其中一部分是我手动加的,我会加以说明
$sudo emacs /etc/my.cnf
内容如下:
#配置客户端
[client]
#默认字符集为utf8
default-character-set=utf8
#配置服务器端
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#默认字符集为utf8
default-character-set=utf8
#设定连接数据库时使用utf8编码
init_connect='SET NAMES utf8'
#设定使用的数据库存储引擎
default-storage-engine=INNODB
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
然后需要重启mysql使配置文件生效:
$sudo /etc/init.d/mysqld restart
然后再次登录mysql:
mysql> \s
显示内容如下:
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.1.52, for redhat-linux-gnu (i386) using readline 5.1
Connection id: 11
Current database: projectforge
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.1.52 Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 2 hours 55 min 24 sec
Threads: 9 Questions: 620 Slow queries: 0 Opens: 68 Flush tables: 1 Open tables: 61 Queries per second avg: 0.58
--------------
mysql>
发现都改成了UTF8字符集了,现在就不用再怕乱码了。
当然你的mysql配置文件也不一定存储在/etc/my.cnf,也可能是etc/mysql/my.cnf等,修改方法都大同小异,在此笔者就不一一说明。
分享到:
相关推荐
### Linux下MySQL解决乱码问题 #### 背景与问题描述 在使用Linux系统时,部分用户可能会遇到MySQL数据库无法正确显示或录入中文字符的问题,即所谓的“乱码”现象。这种问题不仅影响数据的准确性和完整性,还可能...
Windows 访问远程 Linux 下 MySQL 乱码问题解决方案 在实践中,我们经常遇到 Windows 访问远程 Linux 下 MySQL 数据库时出现乱码问题。这种问题的主要原因是 Windows 和 Linux 的字符编码方式不同。Windows 使用的...
linux 系统下mysql中文乱码问题的解决方案 1、在命令行中输入alter database 数据库名 default character set utf8; 设置字符编码方式 2、 set names utf8; 设置显示方式 3 、jdbc中url的路径后跟上?useUnicode=true...
Navicat MySQL 连接 Linux 下 MySQL 问题解决方案 Navicat MySQL 连接 Linux 下 MySQL 问题解决方案是指在使用 Navicat 连接 Linux 下的 MySQL 数据库时可能出现的一些问题和解决方案。 1. 无法连接 MySQL 数据库...
Linux 乱码问题解决方案 Linux 乱码问题解决方案是指在 Linux 操作系统中出现的乱码问题的解决方法。乱码问题是指在 Linux 系统中,中文字符无法正确显示或乱码的问题。本文将介绍 Linux 乱码问题的解决方案,包括...
通过调整`my.cnf`文件中的字符集设置并重启MySQL服务,可以有效地解决Linux环境下MySQL中文乱码问题。此外,还需要确保数据库、表、字段以及使用的IDE等工具中的字符集设置一致,以避免因字符集不匹配导致的乱码问题...
### PHP+MySQL中文乱码解决方案 #### 一、概述 在使用PHP与MySQL进行Web开发的过程中,中文乱码问题是常见的一个问题。通常情况下,这主要是由于系统各部分(如PHP脚本、MySQL数据库、操作系统等)之间的字符编码...
### MySQL乱码问题解决方案 #### 一、问题背景 在MySQL数据库操作过程中,经常会遇到中文乱码的问题。尤其是在处理简体中文数据时,如果数据库或连接客户端的字符集设置不当,很容易导致显示乱码或者存储错误的...
下文介绍如何解决linux下mysql中文乱码问题。 首先进入mysql命令行模式,键入mysql -uroot -p 即可进入。随后键入 SHOW VARIABLES LIKE 'character_set_%'; 若显示内容类似这样: +-------------------
### Linux 下 MySQL 数据库乱码问题详解 #### 一、问题背景及原因分析 在 Linux 系统中使用 MySQL 数据库时,可能会遇到字符集不匹配导致的数据乱码问题。通常这种现象表现为数据库中的文本数据无法正确显示或存储...
### MySQL中文乱码解决方案 在使用MySQL数据库的过程中,可能会遇到中文显示乱码的问题。中文乱码问题通常是由于字符集设置不正确导致的。为了解决这个问题,我们需要从多个角度进行排查与解决,包括检查系统环境...
### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是常见的问题之一,尤其是在数据库初始设置不当时,更容易出现此类问题。本文将详细介绍如何彻底解决MySQL中的中文乱码问题。 #### 一、理解中文...
### Linux SecureCRT 查看 MySQL 中显示乱码的问题解析与解决方案 #### 一、问题背景及描述 在使用SecureCRT连接Linux服务器并通过MySQL客户端查询数据时,可能会遇到字符集不匹配导致的数据显示乱码问题。例如,...
### 解决MySQL乱码方案 在处理MySQL数据库时,遇到字符集编码问题是非常常见的现象,尤其是在需要支持多种语言环境的应用场景下。本文将详细介绍如何解决MySQL中的乱码问题,包括设置正确的字符集、导出与导入数据...
本文将深入探讨这一问题,并提供全面的解决方案。 首先,我们需要理解乱码的根本原因。乱码通常是因为文件、网页、数据库以及PHP脚本之间的编码不匹配。在PHP与MySQL的环境中,常见的编码类型包括GBK、GB2312以及...
### MySQL中文乱码解决方案 #### 一、问题背景与成因 在IT行业中,数据库迁移或更新是非常常见的操作。然而,在不同的服务器环境或MySQL版本之间迁移数据库时,常常会遇到中文乱码的问题。这种情况通常发生在从旧...
Ubuntu MySQL 中文乱码问题解决方案 在 Ubuntu 系统中,MySQL 数据库中文乱码问题是一个常见的问题。乱码问题可能是由于 MySQL 数据库的字符编码设置不正确所致。解决这个问题需要对 MySQL 数据库的字符编码进行...