MySQL 中文显示乱码

MySQL 插入中文乱码 及第三方视图软件显示中文乱码问题 前提:        1、MySQL 版本: 5.5.20                  安装时选择的编码是UTF-8;         2、第三方视图软件:navicat for mysql          问题:                  1、数据库在命令端无法插入中文;          2、能插入中文,但是select 出来后是乱码;     阅读详情

最近关于中文显示乱码的贴子比较多,所以也做了个总结:

可以参考一下杨涛涛版主的《各种乱码问题汇总》
http://topic.youkuaiyun.com/u/20071124/08/3b7eae69-ed1d-4a77-8895-9930bf3601af.html

MySQL字符集的原理介绍。摘录于官方文档。http://dev.mysql.com/doc/refman/5.1/zh/charset.html

不同的编码格式会导致同一字符,在不同字符集下的编码会不同。同样同一编码在不同的字符集中代码的字符也不相同。当你的MySQL返回的字符串的编码格式(字符集)与你的客户工具程序(mysql, php, query browser, ...)当前使用的字符集不同时,就会造成乱码。 比如一个英国朋友告诉你Long, 当一位中国小学生看到后就会告诉你“龙”而不是“长”

关于字符集的详细介绍和例子,建议花一点时间看一下
http://dev.mysql.com/doc/refman/5.1/zh/charset.html  (第10章:字符集支持)。


这里仅摘要一下。

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show create table table ; 或show full fields from tableName; 来检查当前表中字段的字符集设置。

MySQL中关于连接环境的字符集设置有  Client端,connection, results 通过这些参数,MySQL就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。基本上99%的乱码由些造成。

乱码后需要检查的信息。(如果需要论坛上的朋友帮助,建议你提供以下信息 )


1. 数据库表中字段的字符集设置 。show create table TableName 或 show full columns from tableName


mysql> show create table t1;
+-------+------------------------------------
| Table | Create Table                      
+-------+------------------------------------
| t1    | CREATE TABLE `t1` (
  `id` int(11) NOT NULL,
  `c1` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`)   
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+-------+------------------------------------
1 row in set (0.00 sec)
                       
mysql> show full columns from t1;
+-------+-------------+----------------+------+-----+-
| Field | Type        | Collation      | Null | Key |
+-------+-------------+----------------+------+-----+-
| id    | int(11)     | NULL           | NO   | PRI |
| c1    | varchar(30) | gbk_chinese_ci | YES  |     |
+-------+-------------+----------------+------+-----+-
2 rows in set (0.00 sec)
mysql>

2. 当前联接系统参数  show variables like 'char%'


mysql> show variables like 'char%';
+--------------------------+----------------
| Variable_name            | Value
+--------------------------+----------------
| character_set_client     | gbk
| character_set_connection | gbk
| character_set_database   | latin1
| character_set_filesystem | binary
| character_set_results    | gbk
| character_set_server     | latin1
| character_set_system     | utf8
| character_sets_dir       | C:/Program File
+--------------------------+----------------
8 rows in set (0.00 sec)
mysql>


1. 中文,请确保 表中该字段的字符集为中文兼容:
 big5     | Big5 Traditional Chinese
 gb2312   | GB2312 Simplified Chinese
 gbk      | GBK Simplified Chinese
 utf8     | UTF-8 Unicode

2. 确保,联接参数与这个字段字符集一致,你可以用 set name 'charsetname';
 比如, set name 'gbk';
 这条命令会同时修改 character_set_client,character_set_connection,character_set_results
 (如果你的这架MySQL中都为中文,则你可以在my.ini或my.cnf中加上或修改这个参数, 参数文件修改后需重启MySQL服务)
[mysql]
default-character-set=gbk

3. PHP 乱码, 同样 mysql_query("set name 'gbk'"); 其它API也类似。

4. phpmyadmin里乱码
phpMyAdmin的config.inc.php中有没有设置$cfg['DefaultCharset']='utf-8';

5. Windows操作系统中命令行("DOS"窗口)下。
 在你的DOS窗中的左上角标题栏片左键,属性,
 在字体中,选择“宋体”,确认
 mysql中 set names 'gbk';

6. ADO.NET, ADO中 ,可以连接字符串中加入CharSet=UTF8;类似指令以说明connection的字符集。
 Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; CharSet=UTF8;

7. SQL Manager for MySQL

用EMS建数据库,

 Character Set设为utf-8

 client charset设UTF-8

 Font charset 设为GB2312_CHARSET


8. jdbcodbc桥接 http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/bridge.html

       // Load the JDBC-ODBC bridge driver
       Class.forName(sun.jdbc.odbc.JdbcOdbcDriver) ;

       // setup the properties
       java.util.Properties prop = new java.util.Properties();
       prop.put( " charSet " , " Big5 " );
       prop.put( " user " , username);
       prop.put( " password " , password);

       // Connect to the database
       con = DriverManager.getConnection(url, prop);

9.  PHP 5.2 版本以上解决乱码问题的一个方法 (由 ljf_ljf [Mark Liang] 提供)

    $conn = mysql_connect ( " 192.168.1.133 " , " root " , " 123456 " ) or
        die ( " Could not connect: " . mysql_error ());

    $program_char = " utf8 " ;

    $conn . mysql_select_db ( " test " );
    // $conn.mysql_query('SET @@character_set_results = "'.$program_char.'"');
   
    mysql_set_charset( $program_char , $conn );
    $charset = mysql_client_encoding ( $conn );
    printf ( " current character set is %s <br> " , $charset );
    $result = mysql_query ( " SELECT id, task_no,pack_path FROM tb_workplan where id = 1 " , $conn );
    while ( $row = mysql_fetch_array ( $result , MYSQL_BOTH)) {
        printf ( " ID: %s <br> task_no: %s  <br> pack_path :%s <BR> " , $row [ " id " ] , $row [ 1 ] , $row [ " pack_path " ]); 
    }
    $conn . mysql_free_result ( $result );
    $conn . mysql_close ();


9.  存储过程参数乱码

create procedure t ( aa char(10) charset 'gbk')


未完。。。

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/ACMAIN_CHM/archive/2009/05/12/4174186.aspx

解决MySQL中文乱码问题的方法 MySQL是一种常用的关系型数据库管理系统,但在使用过程中,有时会遇到中文乱码的问题。下面将介绍一些解决MySQL中文乱码问题的方法,并提供相应的源代码示例。解决MySQL中文乱码问题需要确保数据库、表、列的字符集设置正确,并在连接数据库时设置正确的连接字符集。通过设置连接字符集为utf8或utf8mb4,可以确保在与数据库进行交互时使用正确的字符集,从而避免中文乱码问题。在确认数据库字符集设置正确后,需要检查每个表和列的字符集设置。首先,确保你的MySQL数据库的字符集设置正确。替换为你的数据库名称。 阅读详情

相关推荐

MySQL中文显示乱码问题解决方法

综上所述,通过配置MySQL客户端和服务器的字符集,以及正确设置数据库和表的字符集,可以解决MySQL命令行窗口中文显示乱码的问题。MySQL是一款常用的关系型数据库管理系统,但在使用MySQL的命令行窗口时,有时会遇到中文显示乱码的问题。本文将介绍解决MySQL命令行窗口中文显示乱码问题的方法,并提供相应的源代码示例。在使用MySQL命令行窗口时,输入或显示的中文字符可能会出现乱码,导致难以理解和操作数据库。在创建数据库和表时,可以指定字符集为utf8,以确保数据库和表的字符集与客户端一致。

SmufHtml的博客 697

mysql字符编码的设置以及mysql中文乱码的解决方法

最近在开发过程中,使用到mysql的数据库,而在将中文数据插入到数据库的时候出现了数据乱码的问题,在网上找了很多方法,问了很多人,试了很久才发现网上有的方法是不行的,因此在此记录下,以便他人查找。 查看字符编码 首先,将中文插入到数据库乱码是因为没有将数据库编码设置为支持中文的编码,mysql的默认编码是Latin1,不支持中文,应该设置为utf8查看自己的数据库编码是否已设置好,进入

yipiankongbai的专栏 6万+

从硬件拆解到图像生成:一次搞懂MRI设备(主磁体、梯度线圈、射频系统)是如何协同工作的

本文深入解析MRI设备的三大核心系统——主磁体、梯度线圈和射频系统如何协同工作,实现从量子现象到诊断图像的转化。通过详细的技术参数和临床案例,揭示磁共振成像(MRI)在医疗图像处理中的精密工程原理和最新技术突破,帮助读者全面理解这一现代医学影像技术的运作机制。

weixin_33734785的博客 544

mysql乱码、字符集设置问题

排查mysql客户端中出现中文乱码的各种可能的原因。

aumonnn的博客 6512

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

天天酷科研的博客 1113

【Matlab光伏功率预测】基于GRU门控循环单元的光伏功率时间序列预测(附MATLAB代码)

【Matlab光伏功率预测】基于GRU门控循环单元的光伏功率时间序列预测(附MATLAB代码)

k8291121的博客 1099

MySQL中文显示乱码问题

MySQL中文显示乱码问题 1. 背景 mysql作为使用最广泛的关系型数据库,在国内也是有非常大的使用场景的。 mysql作为数据库,可以针对数据库,表,甚至字段设置字符集,所以当数据显示乱码时,一般都是字符集出了问题 2. 解决 先查一下,系统中有哪些地方的字符集不是utf-8 show variables like '%character%'; 修改mysql安装目录下配置项 # For advice on how to change settings please see #

xiaohu21的博客 703

FISCO BCOS(一)———搭建单群组FISCO BCOS联盟链

1、安装ubuntu依赖 sudo apt install -y openssl curl 2、创建操作目录, 下载安装脚本 创建操作目录 cd ~ && mkdir -p fisco && cd fisco 下载脚本 curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.8.0/build_chain.sh && chmod u+x build_chain.

林中有神君 6649

Mysql输出中文显示乱码处理

微信公众号:IT邦德 目前B站正在直播Mysql、Oracle、Python实战课程 详情关注公众号:IT邦德 QQ群:168797397、587159446 在MySQL的dos客户端输出窗口中查询表中的数据时,表中的中文数据都显示成乱码,如下图所示 处理方法: 就是因为MySQL客户端输出窗口显示中文时使用的字符编码不对造成的, 可以使用如下的命令查看输出窗口使用的字符编码: mysql> show variables like ‘char%’; 现在是使用utf8字符编码来显示中文数据的,

IT邦德 1298

【OpenClaw从入门到精通】第24篇:OpenClaw Skill商业化实战指南——从0开发付费技能,在ClawHub变现(2026实测版)

本文聚焦OpenClaw Skill商业化的全流程落地,基于2026年生态现状、公开行业报告及开发者指南,拆解付费Skill的市场机会、商业模式、技术实现、发布运营及避坑要点。核心围绕“Freemium API Backend”主流路径,通过虚拟但贴合真实场景的“金融研报复现”案例,提供从需求分析、定价设计到代码开发、ClawHub上架的完整实操方案。文中包含可直接复用的代码片段、执行结果演示及流程图解,既满足新手快速入门的需求,也为进阶开发者提供商业化落地的关键思路,帮助读者抓住AI Agent早期红利。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1083

热力学仿真软件:SimScale_(1).SimScale入门与基础操作

导航栏:位于页面顶部,包含项目管理、仿真设置、结果分析等主要功能。项目列表:展示用户创建的所有项目。工作区:用于进行具体的操作,如几何建模、网格划分、边界条件设置等。控制台:显示操作日志和仿真进度。网格划分是将几何模型离散化为一系列小单元的过程,这些单元用于求解热力学方程。SimScale提供了多种网格划分方法,包括结构化网格和非结构化网格。SimScale提供了丰富的API接口,用户可以通过编程语言进行二次开发,实现自动化仿真和结果分析。项目管理:创建、删除和管理项目。几何建模:创建、导入和修复几何模型。

kkchenjj的博客 1863

解决MySQL中文乱码和插入中文不显示的方法

解决MySQL中文乱码和插入中文不显示的方法 写在前面:如果安装MySQL出现1045错误,那就是以前安装过的MySQL还有残留,即没有将以前安装的MySQL删除干净,可以自行百度如何彻底删除MySQL。 下面是正式解决MySQL中文乱码和插入中文不显示的方法: 1、安装MySQL服务器的时候一定要选择编码为utf-8 标题 2、在MySQL的my.ini配置文件中将客户端和服务端的编码设置为utf8,如下: 3、关闭配置文件,重启MySQL服务。 4、打开cmd,输入mysql .

小小凌萧的博客 2839

解决TexStudio编写LaTeX论文引用文献问题:正文引用处出现[?],参考文献也不显现

当我们利用LaTeX编写论文时,可能会出现引用参考文献时正文引用处出现?号,肯能的原因及解决方案如下: 问题一 忘记在\end{document}前面放\bibliographystyle{样式}和\bibliography{参考文献bib文件名}: \bibliographystyle{plain} \bibliography{sample} 其中, LaTeX 标准选项及其样式共有以下8种: plain,按字母的顺序排列,比较次序为作者、年度和标题. unsrt,样式同plain,只是按照引用的先后

左手の明天的博客 9527

mysql php显示中文_php显示mysql中文乱码问题

php显示mysql中文乱码问题(2012-11-24 11:27:46)标签:phpmysqldw乱码手机博客杂谈PHP显示MySQL乱码对于新手在实际编程中是经常会遇到的问题,我们在接下来的文章中将会为大家具体介绍PHP显示MySQL乱码的原因,及具体的解决办法,希望对又需要的朋友们有所帮助。PHP显示MySQL乱码问题1. 用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网...

weixin_35833704的博客 298

Python 爬虫实战:就业市场趋势数据抓取与行业洞察

在当今竞争激烈的就业市场中,了解行业趋势和就业形势对于求职者、学生以及人力资源专业人士来说至关重要。通过获取和分析就业市场数据,我们可以深入了解不同行业的招聘需求、薪资水平、技能要求等关键信息,从而为职业规划和人才发展提供有力支持。

yansideyucsdn的博客 1406

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

mysql workbench 问号_MySQL workbench 中文乱码 显示口口

Edit-->perference...-->Apperance 如下图 即可 转载自:http://blog.csdn.net/shxluwei/article/details/8026886…来源: JSP 中文乱码显示处理解决方案 分类:所有Web前端J2EE2007-02-07 14:202895人阅读评论(2)收藏举报 jsp中文乱码解决utf-8 JSP ...

weixin_39781209的博客 2647

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

mysql 注释 乱码_mysql中注释显示中文乱码怎么解决

2016-12-10 回答linux下mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:mysql不能插入中文默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>user mydb;mysql>alter database mydb character set utf8;!另一种方法是直接修改默认的mys...

weixin_34162253的博客 3561

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

mysql插入数据中文显示乱码问题

问题二:客户端中文显示乱码,彻底解决问题,需要修改的表名位于哪个数据库下。问题一:中文信息无法插入。退出客户端,重新连接即可。将数据库的编码转换成。

Miss__xxzz的博客 1066

mysql命令行界面中文乱码_mysql命令行中文显示乱码怎么办

mysql命令行中文显示乱码的解决办法:1、出现乱码的原因是登录时使用的是lastin码,所以需要重新退出使用编码明确登录;2、重新查询中文表;3、登录的编码必须和安装数据库时使用的编码一样。mysql命令行中文显示乱码的解决办法:1、当我们直接使用mysql -u root -proot登陆命令行界面。2、当表中存在中文的时候会出现乱码。3、出现这个乱码的原因是登陆时使用的是lastin码,所以...

weixin_42322219的博客 750

mysql的中文乱码url,MySQL 中文显示乱码

MySQL 中文显示乱码MySQL 中文显示乱码如果你遇到乱码问题,可以从下面几个问题逐步检查:(1)检查你的文件存储编码是否和meta声明的一致,假如你的文件是按照utf-8编码存储,但是meta却声明为gb2312,将导致乱码。解决办法:将页面存储编码和meta声明保持一致。用记事本打开文件,“另存为”,下面有个选项是“编码”,选择和meta声明一致的编码方式。(提示:...

weixin_28920823的博客 253

PHP读取MySQL显示中文乱码

在写PHP 的WEB应用时,我们最长碰见的问题可能就是中文乱码问题了,前一段时间我在搭建自己博客的过程中,很不幸的也遇到了这个问题.问题情景描述当时我遇到的问题是这样的: 本地测试: 页面现实正常,MySQL数据中存储的中文是乱码. 服务器端测试: 页面显示出现乱码,数据库中存储的中文也是乱码. 注意:服务器端的数据是通过SQL文件导入的,当我尝试在服务器端执行写博客操作

yums467的专栏 2556

mysql显示不了中文乱码_解决mysql无法显示中文/MySQL中文乱码问号等问题

jsp连接MySQL数据库显示GIS地理数据乱码问题的解决(select AsText&lpar;the&lowbar;geom&rpar;)oh,fuck,经过我昨天下午到今天的努力,终于将这一问题成功解决了,哈哈哈 问题详细描述: 我通过jsp页面连接上MySQL数据库,取出存在表中的地理数据(类型是geometry,具体有POINT. ...解决sencha touc...

weixin_35680189的博客 425
上一篇: 坐标映射
sandyandy
博客等级 码龄19年 72粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值