解决mysql中无法显示中文的一个实例

1 登录数据库

amp1:~ # mysql -uroot -pmysql.rzrk
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2132
Server version: 5.0.95-log SUSE MySQL RPM
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

2 使用xiaobing库

mysql> use xiaobing;  
Database changed

3 查xiaobing库中的表

mysql> show tables;
+--------------------+
| Tables_in_xiaobing |
+--------------------+
| luzhi          |
| t1            | 
+--------------------+
2 rows in set (0.00 sec)

4 查表luzhi的表结构

mysql> desc luzhi;
+-------+----------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id   | int(10)  | YES  |   | NULL   |     | 
| name  | char(30) | YES  |   | NULL   |     | 
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)

5 查看表luzhi的数据

mysql> seclect * from luzhi;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘seclect * from luzhi‘ at line 1
mysql> select * from luzhi;
+------+-------+
| id  | name  |
+------+-------+
|   2 | o`    |   
|    4 | f    | 
+------+-------+
4 rows in set (0.00 sec)   ##发现输出为乱码

6 查当前数据库所使用的字符编码

mysql> show variables like "character%";
+--------------------------+----------------------------+
| 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/ | 
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

7 临时性的更改当前的数据编码

set names utf8;

相当于:

SET character_set_client = utf8;
     SET character_set_results = utf8;
     SET character_set_connection = utf8;

mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)

8 查看是否成功修改了

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    | gbk                | 
| character_set_system    | utf8                | 
| character_sets_dir     | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
9 再次查询表luzhi的数据,发现可以正常显示
mysql> select * from luzhi;
+------+---------+
| id  | name   |
+------+---------+
|   2 | 你好   | 
|   4 | 甪直   | 
+------+---------+
4 rows in set (0.01 sec)

10 上面的方法只是临时的更改,当退出mysql再次进入的就会失效了。

永久更改:

#vim /etc/my.cnf
    
[client]
#password       = your_password
port            = 3306
socket          = /var/lib/mysql/mysql.sock
default-character-set=gbk  #这里可以设置你所需要定义的编码 utf8
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
datadir = /home/rzrk/mysql
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-character-set=gbk  #这里可以设置你所需要定义的编码 utf8

修改完成后必须重启mysql才能生效

#service mysql restart 
#mysql uroot -p 
> show variables like "character%";
时间: 2024-08-28 09:17:35

解决mysql中无法显示中文的一个实例的相关文章

在Mysql中如何显示所有用户?

在Mysql中如何显示所有用户? 这是一个mysql初学者经常问到的一个问题,今天我们就带大家看看是如何在Mysql中显示所有用户的.通常我们在mysql中使用SHOW DATABASES可以显示所有的数据库,SHOW TABLES将会显示所有的数据表,那么你是不是会猜测显示所有用户的命令是SHOW USERS呢?不不不,并不是的,现在让我们一起来看看如何显示所有用户吧. 在Mysql中显示所有用户 1.登录数据库 首先,你需要使用如下命令登录到数据库,注意,必须是root用户哦~ ## mys

解决Linux文档显示中文乱码问题以及编码转换

解决Linux文档显示中文乱码问题以及编码转换 使vi支持GBK编码 由于Windows下默认编码是GBK,而linux下的默认编码是UTF-8,所以打开会变成乱码.因此,我们只需要改变一下配置文件,使得vi支持GBK 打开~/.vimrc文件 加上 1.let &termencoding=&encoding2.set fileencodings=utf-8,gbk 然后:wq保存并退出 再次打开vi就显示正常了. 将其它的编码的文件转换成utf-8 另外,还可以将其它的编码的文件转换成u

Linux中vi显示中文乱码的问题

由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码.修改了一下配置文件,使vi支持gb编码就好了.$vi ~/.vimrclet &termencoding=&encodingset fileencodings=utf-8,gbk$:wq再次打开vi,显示就正常了.vim中编辑不同编码的文件时需要注意的一些地方此文讲解的是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字符终端下的vim.

git bash中不能显示中文

git bash中不能显示中文 问题描述:当使用git log查看提交日志时,中文字符不能正常显示问题 1.首先把git的配置改一下 git config --global core.quotepath false 2.如果git log依然不能正常显示试用 git --no-pager log 能不能显示中文,如果可以,则设置pager为more:  git config --global core.pager more   原文地址:https://www.cnblogs.com/Java-

mysql 不能插入中文和显示中文

一)不能显示中文解决办法: 参考:http://bbs3.chinaunix.net/thread-880131-1-1.html 1:windows平台,因为windows操作系统默认的是用了gb2312这个字符,而mysql在安装的时候, 默认的是客户端和服务器都用了latin1,所以这就导致一个字符集和字符校验不匹配的问题, 这个时候只需要找到mysql的配置文件my.ini 找到default-character_set ,把他的参数改 成gb2312就可以了,一共有两个这样的参数,一个

解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据

我们都知道,各种主流的社交应用或者阅读应用,基本都有列表类视图,并且都有滑到底部加载更多这一功能, 对应后端就是分页拉取数据.好处不言而喻,一般来说,这些数据项都是按时间倒序排列的,用户只关心最新的动态,而不关心几个月甚至几年前消息,所以后端返回给客户端的数据是不会一次性传递全部内容的(不仅耗费流量,而且还给服务器带来巨大压力). 举个例就说MySQL,它已经给我们提供了相应的语句来支持这一功能,那就是limit关键字.比如我要拉取一个消息表中用户id为1的前10条最新数据,SQL语句如下: s

mysql中latin1编码中文转utf8

在mysql中,对应的表字段编码通常默认为lartin1编码,在本地客户端显示的时候看着是乱码,但是通过mysql -u -p -h命令登录后,select查询到数据是正常的,通过jdbc或者php等去取回来的中文是乱码: 也就是中文在mysql中是lartin1,到我们自己本地或者用navicat等select却是乱码,使用mysql内置函数来转换一下 SELECT convert(unhex(hex(convert(name using latin1))) using utf8) as na

SDL显示中文(一个函数而已)

其实让SDL显示中文很简单,刚开始我也不知道,苦恼了好久,但是知道后发现他太简单了 想要显示的中文就是一个函数的事情,用TTF_RenderUTF8_Solid( font,"大家好!!", textColor )函数就行了,什么也不用做. 大家可以试试 下面是我写的一个测试的代码: #include <stdio.h> #include <stdlib.h> #include <mysql.h> #include "SDL/SDL.h&q

解决 gvim 菜单无法显示中文的问题

在 Ubuntu 10.04 下安装 GVIM 后运行, 发现无法显示中文菜单 同时命令行下也会报错: Gtk-WARNING **: Invalid input string 搜索了一下发现是由于Ubuntu 10.04 默认安装将会把中文区域设置为 zh_CN.utf8,而 GVIM 能识别的中文区域设置为zh_CN.UTF-8 .因此GVIM会在启动时报错,且无法正常加载中文菜单. 解决方法如下: cd /usr/share/vim/vim72/lang sudo ln -s menu_z