MySQL中文汉字乱码问题分析

解决网页中乱码的问题,在程序查询时定义

 代码如下 复制代码
db =  mysql _connect("localhost", "user","password"); 
mysql_select_db("message",$db);
mysql_query("SET NAMES 'utf8'",$db);

 

将所有的环境都设置为utf8编码,你可以在sqlYog的查询窗口中使用

1. SHOW VARIABLES LIKE 'character_set_%';

编辑配置文件

1.编辑/etc/my.cnf ,在[mysql]段加入

 代码如下 复制代码
default_character_set=utf8;

导入数据有中文乱码的问题

1:将数据编码格式保存为utf-8

设置默认编码为utf8:

 代码如下 复制代码

set names utf8;

设置数据库db_name默认为utf8:

 代码如下 复制代码

ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

设置表tb_name默认编码为utf8:

 代码如下 复制代码

ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

导入:

 代码如下 复制代码

LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;

phpadmin中文乱码

在Phpmyadmin文件夹下找到libraries文件夹,修改里面select_lang.lib.php文件

a)zh-gb2312 修改成 zh-gb2312-utf-8

b)修改MySQL_charset_map 数组中

 代码如下 复制代码

'gb2312' => 'utf-8' 修改成 'gb2312' => 'latin1', (有的显示'gb2312' => 'gb2312' ,修改同理)

c)修改MySQL_charset_map 数组中

 代码如下 复制代码

'utf-8' => 'utf-8' 修改成 'utf-8' => 'latin1', 之后重启httpd就OK了。

时间: 2024-09-29 08:34:02

MySQL中文汉字乱码问题分析的相关文章

MySQL+PHP产生乱码原因分析与解决方法

◆ mysql数据库教程默认的编码是utf8,如果这种编码与你的php网页不一致,可能就会造成mysql乱码; ◆ mysql中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成mysql乱码; ◆ mysql创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成mysql乱码; ◆ 用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成php页面乱码; ◆ 如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造

MySQL插入中文汉字乱码问题解决方案

1.脚本语句 导入之前,先charset gbk. 修改表字段编码: 注意:这里用导入的方式插入的数据,控制台会报错.在我们的客户端工具中执行,就不会报错了. 2.MyBatis中,xml文件引入成为mapper的配置: 3.写junit测试类的时候,中文数据不能正常读取: 解决办法:字符串连接参数要添加一下.. 修改my.ini文件 用记事本或UitraEdit打开mysql数据库安装目录下的my.ini文件打开, 然后Ctrl+F搜索default-character-set,将后面的字符集

解决MySQL中文出现乱码问题的终极宝典

MySQL出现乱码的原因 要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为.为了更好的解释这个过程,博主制作了两张流程图,分别对应存入和取出两个阶段. 存入MySQL经历的编码转换过程 上图中有3次编码/解码的过程(红色箭头).三个红色箭头分别对应:客户端编码,MySQL Server解码,Client编码向表编码的转换.其中Terminal可以是一个Bash,一个web页面又或者是一个APP.本文中我们

cmd中MySQL中文数据乱码问题解决方法_Mysql

我的MySQL是默认utf8编码的,所建数据库也是设置utf8编码,使用程序可以新增中文数据,在cmd中使用SQL语句新增数据则报类似Incorrect string value: '\xB2\xE2\xCA\xD4' for column 'title' at row 1错误,而使用SQL语句查询出之前程序所新增中文数据都是乱码的. 右击在cmd界面上面边框→属性→选项 ,查看cmd的编码方式是是GBK,并不是utf-8. 其实数据库内部是没有乱码的,只是和cmd的编码方式不一样,在cmd呈现

MySQL中文汉字转拼音的自定义函数和使用实例(首字的首字母)_Mysql

fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母 (例如:"中国人"->Z) 复制代码 代码如下: CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8BEGIN    DECLARE V_RETURN VARCHAR(255);    SET V_RETURN = ELT(INTERVAL(CONV(HEX(left(CONVERT(P

关于ORACLE和MYSQL中文字符乱码的根源剖析

关于数据库的字符集问题一直都是一个比较恶心的问题,如果不了解其实质可能一直 都搞不清楚这个问题的根源,只能出了问题去度娘,这里我打算兼容ORACLE和MYSQL对字符集 的处理来描述乱码出现的情形和如何防止乱码问题出现的可能,本文只用UTF-8和GBK为 例子进行描述,请大家先记住'去'这个字的UTF8和GBK编码,因为整个文章将用'去'字为 例子进行讲述 GBK     UTF8   中文 C8A5    E58EBB  去 同时整篇文章数据库DATABASE端的字符集始终为UTF8 一般来讲

JavaEE中用response向客户端输出中文数据乱码问题分析_java

  Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象.request和response对象既然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了.要向客户机输出数据,只需要找response对象就行了. 复制代码 代码如下:  package com.yyz.response;  import java.io.IOException;  import java.io.Output

mysql中文汉字按拼音字母排序方法

默认出来的结果并不是按汉字拼音的顺序来排序,要想按汉字的拼音来排序,需要把数据库的字符集设置为UTF8,然后在order by 时候强制把该字段信息转换成GBK,这样出来的结果就是按拼音顺序排序的  代码如下 复制代码 SELECT * FROM table_name ORDER BY CONVERT(column_name USING gbk); 此方法主要是用到了convert函数,关于此函数说明 MySQL CONVERT函数的例子:  代码如下 复制代码 SELECT CONVERT(_

python操作mysql中文显示乱码的解决方法_python

本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8) 2. MySQL数据库charset=utf-8 3. Python连接MySQL是加上参数 charset=utf8 4. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8) 示例代码如下: