- 浏览: 21069 次
- 性别:
- 来自: 无锡
最新评论
解决MYSQL不支持中文的问题
MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明
需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法:
一、Windows
1、中止MySQL服务
2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可
3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务
二、Linux
1、中止MySQL服务(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可
3、打开my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务(bin/mysqld_safe &)
非常简单,这样的修改一劳永逸,今后MySQL一切相关的默认编码均为UTF-8了,创建新表格的时候无需再次设置
需要注意的是,当前数据库中已经存在的数据仍保留现有的编码方式,因此需要自行转码,方法在网上有很多,不再赘述。
查看数据库字符集的若干命令:
show variables like 'character\_set\_%';
SHOW VARIABLES LIKE 'collation_%';
好像命令行运行的MySQL命令不支持UTF8,插入后好像什么都没有,所以
插入数据时可以执行 set names gbk;
之后 set names utf8;
或者使用交互工具插入。
控制台中文乱码
set names=gbk;
MySQL不支持中文查询?
Q:
我在写一个查询条件时的问题如下:
如我想写一个字段中包含“李”字的所有记录
CENTER> $str=\"李\";
select * from table where field like \'%$str%\' ;
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
方法一:
解决方法是对于包含中文的字段加上\"binary\"属性,使之作为二进制比较,例如将\"name char(10)\"改成\"name char(10)binary\"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
CENTER> SELECT * FROM table WHERE locate(field,\'李\') > 0;
本站使用的就是这种方法,感觉还不错。:P
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY \'%FIND%\'即可!
MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明
需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法:
一、Windows
1、中止MySQL服务
2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可
3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务
二、Linux
1、中止MySQL服务(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可
3、打开my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务(bin/mysqld_safe &)
非常简单,这样的修改一劳永逸,今后MySQL一切相关的默认编码均为UTF-8了,创建新表格的时候无需再次设置
需要注意的是,当前数据库中已经存在的数据仍保留现有的编码方式,因此需要自行转码,方法在网上有很多,不再赘述。
查看数据库字符集的若干命令:
show variables like 'character\_set\_%';
SHOW VARIABLES LIKE 'collation_%';
好像命令行运行的MySQL命令不支持UTF8,插入后好像什么都没有,所以
插入数据时可以执行 set names gbk;
之后 set names utf8;
或者使用交互工具插入。
控制台中文乱码
set names=gbk;
MySQL不支持中文查询?
Q:
我在写一个查询条件时的问题如下:
如我想写一个字段中包含“李”字的所有记录
CENTER> $str=\"李\";
select * from table where field like \'%$str%\' ;
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
方法一:
解决方法是对于包含中文的字段加上\"binary\"属性,使之作为二进制比较,例如将\"name char(10)\"改成\"name char(10)binary\"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
CENTER> SELECT * FROM table WHERE locate(field,\'李\') > 0;
本站使用的就是这种方法,感觉还不错。:P
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY \'%FIND%\'即可!
发表评论
-
js正则
2011-08-08 09:20 898一 javascript正则表达式的基本知识 1 j ... -
java操作json的通用类
2011-04-18 14:00 699package com.baiyyy.polabs.util. ... -
一些有用的站点
2011-04-10 10:09 643高质量图标搜索引擎 1.IconFinder 以简便并且有效的 ... -
struts2基本配置
2010-09-24 09:07 8301.web.xml <?xml version=&q ... -
Myeclipse的自动提示功能的设置
2010-09-01 16:06 1069仅作记录 1. 设置代码自动提示 window - ... -
临时文件
2010-08-30 10:36 683document.forms['editForm'].ac ... -
CSS 伪类
2010-08-13 09:38 742声明:本例转自 《精通JavaScript+JQuery》 ... -
js+css 文字跟随鼠标
2010-08-13 09:32 1403声明:本例转自 《精通JavaScript+jQuery》 ... -
js检测浏览器和操作系统
2010-08-13 09:25 2977<!DOCTYPE html PUBLIC &quo ... -
div设置滚动条和滚动条颜色
2010-08-07 17:41 760当div所定义的区域的内容达到一定程度时,在div标签里面嵌入 ... -
CSS 积累
2010-08-04 13:16 6841. button按钮设置背景图片,边角无空白 <i ... -
J2EE 1.5 提供的另一种形式的for循环
2010-07-14 10:38 781J2SE 1.5提供了另一种形式的for循环 ... -
缺包异常
2010-07-13 13:38 2393缺包异常: ------------------------- ... -
js字符串函数
2010-07-13 08:47 1006JS自带函数 concat 将两个或多个字符的文本组合起来,返 ... -
常用js代码
2010-07-10 16:34 7911.去除字符串的空白符 ... -
在javajee中搭建ssh
2010-06-15 17:29 1404版本:struts1.2+hibernate3.3.1+spr ...
相关推荐
MySQL 中文乱码问题解决方法 MySQL 是一个功能强大且广泛应用的关系型数据库管理系统,但是,在使用 MySQL 时,用户经常会遇到中文乱码问题。今天,我们将讨论在 MySQL 中的中文乱码问题,并提供解决方法。 MySQL...
在MySQL中实现中文汉字转拼音的功能,主要是为了方便在数据库查询和数据分析时处理中文文本,尤其是在没有全文索引或者需要进行复杂模糊匹配时。以下是一个简单的实现方法,它利用自定义函数来完成这一任务。 首先...
本文详细解答了SQL应用中常遇到的一些问题,对实际操作有重大的作用。
MySQL中文乱码问题是一个常见的困扰,特别是在处理含有中文字符的数据时。主要的乱码原因有三个:1)服务器本身的设置问题,2)数据库表的字符集配置,以及3)客户端程序(如PHP)连接时的字符集设定。下面将详细...
总之,MySQL汉字拼音数据库是处理中文信息不可或缺的工具,它能够为各种涉及到汉字处理的项目提供强大支持,提高开发效率和用户体验。通过有效的数据库设计和使用,我们可以充分利用这些数据,创造出更加智能和人性...
MySQL 5.7中文文档是针对这个特定数据库版本的详细技术参考,包含了丰富的信息,适合开发者、管理员和学习者使用。文档的翻译质量被描述为“还行”,尽管资源可能不易找到,但提供了全面的指南。 该文档涵盖了从...
MySQL中的汉字乱码问题是一个常见的困扰许多开发人员和数据库管理员的问题。这主要涉及到字符编码设置不正确,导致在存储或显示汉字时出现乱码。在MySQL中,字符集是用来定义如何存储和处理字符的规则,它包括服务器...
总的来说,解决C#操作MySQL中文乱码问题的关键在于保持从数据库配置到代码再到文件的整个过程中的编码一致性,使用UTF-8编码,并确保在每个环节都正确地指定和处理。通过以上步骤,你应该能够成功地避免中文乱码问题...
代码如下: select areaName from area order by convert(areaName USING gbk) COLLATE gbk_... 您可能感兴趣的文章:mysql的中文数据按拼音排序的2个方法mysql如何按照中文排序解决方案MySQL按照汉字的拼音排序简单实例
MySQL中文参考手册是一份详尽的数据库管理系统指南,专为使用MySQL进行数据存储、管理和查询的用户和开发者设计。MySQL是一种流行的开源关系型数据库管理系统的(RDBMS),它以其高效、稳定和易于扩展的特性而受到全球...
在数据库表中没有录入汉字对应的拼音首字母的情况下,进行汉字拼音首字母搜索,下载文本后 直接在mysql中执行,后就可实现根据拼音搜索功能
使用源码分发版安装MySQL:解释如何通过源码安装MySQL,包括配置选项和解决编译问题。 5.5. 安装后的设置和测试:描述安装MySQL后应该执行哪些配置和测试步骤。 6. MySQL升级指南 6.1. MySQL升级:说明如何从旧...
MySQL5:这是关于5.1版至5.1.2-alpha版MySQL数据库系统的参考...合法的信息,包括许可证信息,看到前言和法律声明利用MySQL的帮助,请访问或MySQL的论坛或MySQL邮件列表,在那里你可以讨论你的问题与其他MySQL用户。
Ubuntu MySQL 中文乱码问题解决方案 在 Ubuntu 系统中,MySQL 数据库中文乱码问题是一个常见的问题。乱码问题可能是由于 MySQL 数据库的字符编码设置不正确所致。解决这个问题需要对 MySQL 数据库的字符编码进行...
MySQL中文参考手册.chm 449kb <br/>0 译者序 1 MySQL的一般的信息 1.1 什么是MySQL? 1.2 关于本手册 1.2.1 本手册中使用的约定 1.3 MySQL的历史 1.4 MySQL的主要特征 1.5...
总之,解决MySQL中文乱码问题的关键在于确保所有环节的字符集设置一致且兼容中文。从数据库、表、连接到客户端工具,都需要仔细检查和调整,以确保正确处理中文字符。如果以上方法无效,可能需要检查更深层次的系统...
这份MySQL中文手册的完整版,将这些内容都进行了详细的中文翻译,使得国内用户在使用过程中能更轻松地理解和解决问题,不必依赖英文资料,提升了学习和工作效率。无论是初学者还是经验丰富的开发者,都能从中受益。...
MySQL 5.1 中文手册是一份详尽的数据库管理系统指南,主要针对MySQL 5.1版本。MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),它以其高效、稳定和易于管理的特点,在Web开发和其他数据存储应用中占有重要...