如何将character_set_database latin1 改为 gbk(转)
第一篇文章:
原地址:
Linux服务器下文件名为 my.cnf
Windows 下文件名为 my.ini
问题:通过sql语言向数据库中添加中文的数据的时候,查询是显示的是乱码。 原因:当初安装数据库是默认的编码是latin1编码(Latin1是ISO--1的别名,有些环境下写作Latin-) 解决: 我是讲latin1编码改为gbk ,,,如过你不是,我相信也差不多按照这写步骤。 ①首先进入到mysql暗转目录下,记事本打开my.ini文件将 default-character-set=latin1 改为 default-character-set=gbk default-character-set=latin1 改为 default-character-set=gbk 注意有两行 ②但是修改了这两行还不够,因为你的数据库编码依然还是latin1,你可以doc进入mysql命令下,运行show variables like 'character%'; 显示的内容是: +--------------------------+-----------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | latin1 | //此处显示数据库依然是latin1编码
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | gbk |
| character_set_system | utf8 | //此处是系统默认的
| character_sets_dir | E:\phpStudy\MySQL\share\charsets\ |
+--------------------------+-----------------------------------+ ③修改默认编码有两种方法 》在创建数据库时指定字符集create database yourDB CHARACTER SET gbk; 如果是MYSQL数据库编码不正确: 可以在MYSQL执行如下命令: ALTER DATABASE `test` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci
修改MYSQL表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci
修改字段的编码:ALTER TABLE `test` CHANGE `dd` VARCHAR( ) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL 》我是用的这种方法,因为我电脑上配置了php环境所以可以用这种方法:即运行一个php文件通过那个修改数据编码。你通过网页浏览该文件时填写一些数据就能修改了 文件下载地址http://dl.vmall.com/c08ge26aop 文件直接解压到放php文件目录通过浏览器打开就行 通过上面这些步骤差不多就能显示出下面的内容了 在运行命令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 | E:\phpStudy\MySQL\share\charsets\ |
+--------------------------+-----------------------------------+ ④万一还是不行。。。以为我也是一路试着来的,所以有些步骤可能我认为没起作用但却可能起了作用的有 》mysql> set names gbk; Query OK, rows affected (0.00 sec)
它相当于下面的三句指令:
SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;
因此,这个方法也可以解决所有字符编码设置为gbk,而控制台显示中文乱码的问题。 ⑤当然你也可以试试SET character_set_client = gbk; 即set这种命令来修改各个变量,但当时我不知道这个,也没试过。如果你上面的方法不行可以试试这个。
第二篇文章:
原地址:http://www.cr173.com/html/50452_1.html
mysql的默认编码是拉丁,我每次JSP制作网页用insert语句插入数据库时汉字都会显示成问号,安装mysql后,启动服务并登陆,使用show variables命令可查看mysql数据库的默认编码:
由上图可见database和server的字符集使用了latin1编码方式,不支持中文,即存储中文时会出现乱码。以下是命令行修改为utf-8编码的过程,以支持中文。
Linux下修改:
(1)关闭mysql服务
[plain] view plaincopy
service mysql stop
(2)修改 /etc/mysql/my.cnf (默认的安装路径)
[plain] view plaincopy
vim /etc/mysql/my.cnf
打开my.cnf后,在文件内的[mysqld]下增加如下两行设置:
[plain] view plaincopy
character_set_server=utf8
init_connect='SET NAMES utf8' (亲测,不加也没关系)
(具体如截图所示):
保存退出。
(3) 重新启动mysql服务
[plain] view plaincopy
service mysql start
至此,完成修改默认编码,登陆mysql后重新使用show variable like '%character%'获得的输出效果如下:
注
具体操作和输出情况如下:
Windows下修改:
解决方法:打开mysql安装目录:C:\Program Files\MySQL\Mysql server 5.5
打开文件my.ini配置文件,找到 default-character-set=latin1 并改为:
default-character-set=gbk,找到 character-set-server=latin1 并改为:
character-set-server=gbk,修改完之后保存。
最后:我的电脑右击 “管理”进入之后选择“服务和应用程序”下的“服务”
找到“mysql”之后右击选择“重新启动”。
把jsp页面中的<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>改为<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>即可
Mysql 字符解决:
1,安装选择utf8 编码
2,使用SHOW VARIABLES LIKE ‘character_set_%’;
显示:
character_set_client | latin1
character_set_connection | latin1
character_set_database | latin1
character_set_filesystem | binary
character_set_results | latin1
character_set_server | latin1
character_set_system | utf8
修改my.ini中[mysqld]下的default-character-set为utf8
显示
| character_set_client | latin1
| character_set_connection | latin1
| character_set_database | utf8
| character_set_filesystem | binary
| character_set_results | latin1
| character_set_server | utf8
| character_set_system | utf8
说明此项设置The default character set that will be used when a new schema or table is
# created and no character set is defined(数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。)
但是服务端与客户端的链接字符集仍然没有修改
修改[mysql]default-character-set=utf8
显示:
| character_set_client | utf8
| character_set_connection | utf8
| character_set_database | utf8
| character_set_filesystem | binary
| character_set_results | utf8
| character_set_server | utf8
| character_set_system | utf8
客户端和服务端都统一了 ok
2: 修改你的数据库的字符编码:进入Mysql数据库,通过命令修改你的数据库字符编码: ALTER DATABASE `databaseName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci (修改后需要重启Mysql数据库)
3: 如果你的表以及表里的字段使用了不正确的字符编码,同样需要修正过来:命令:
修改表的编码: ALTER TABLE `tableName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
修改字段的编码: ALTER TABLE `tableName` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
主要介绍MySQL编码为utf8设置方法:
一、编辑MySql的配置文件
vim /etc/my.cnf
在 [mysqld] 标签下加上三行
default-character-set = utf8
character_set_server = utf8
在 [mysql] 标签下加上一行
default-character-set = utf8
在 [mysql.server]标签下加上一行
default-character-set = utf8
在 [mysqld_safe]标签下加上一行
default-character-set = utf8
在 [client]标签下加上一行
default-character-set = utf8
二、重新启动MySql服务即可
三、查看mysql字符集 (默认情况下,mysql的字符集是latin1)
1. 启动mysql后,以root登录mysql
2. 输入命令
show variables like 'character%';
如何将character_set_database latin1 改为 gbk(转)的更多相关文章
- SQLyog软件里无法插入中文(即由默认的latin1改成UTF8编码格式)
问题详情: 无法插入中文? 解决办法: 需要修改编码格式,由默认的latin1改为utf8. 改成, 成功!
- 把mysql 中的字符gb2312 改为gbk的方法
第一步:查找mysql的字符: mysql> show variables like '%char%';+--------------------------+----------------- ...
- TOMCAT中文信息乱码改为GBK
# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements ...
- MySQL字符集
字符集的选择 1.如果数据库只需要支持中文,数据量很大,性能要求也很高,应该选择双字节定长编码的中文字符集(如GBK).因为相对于UTF-8而言,GBK"较小",每个汉字只占2个字 ...
- mysql基础运维
1.创建用户并授权 一般新建数据库都需要新增一个用户,用于程序连接,这类用户只需要insert.update.delete.select权限. 新增一个用户,并授权如下: (1)grant selec ...
- MySQL之对数据库库表的字符集的更改
数据字符集修改步骤: 对于已有的数据库想修改字符集不能直接通过 "alter database character set *"或 "alter table tablen ...
- 03_MySQL中文乱码处理_02_确保MySQL插入数据不乱码的解决方法
[要统一MySQL数据库客户端 和 服务端的字符集] 如下,就是不统一的情况: 通常,MySQL数据库的下面几个字符集(客户端 和 服务端)统一成一个字符集(即" show variable ...
- MySQL数据库解决乱码 latin1 转 gbk
latin1 也是一种编码,但是有时候它不适合我们正常的使用,所以我需要把它转成gbk编码. 查询数据库编码 show variables like 'character%'; 修改配置文件 my.i ...
- Python 之 解码汉字乱码(如果gbk、utf8都试过不行,可以试试这个)
起因: 使用 requests.get(url) 获取页面内容,并打印出来后显示如下: 使用 type() 查看类型也是 <type 'unicode'> print [content] ...
随机推荐
- 使用Lucene.Net管理索引实现搜索
之前使用一直是没有问题的,只到今天发现删除的时候无法删除,增加的时候却一直在增加,导致搜索的时候可以搜出来很多相同的结果. 小猪决定趁今天这个机会好好的把这个问题给解决了. private void ...
- linux :TOP命令及参数解析
第二行 分别显示:total进程总数. running正在运行的进程数. sleeping睡眠的进程数.stopped停止的进程数. zombie僵尸进程数. 第三行 分别显示: %us 用户空间占用 ...
- jquery 添加方法 : $.fn.方法名 = function(参数a,b,c){
$.fn.image_checked = function(self,status,img_body,csrf_token){ $(this).live('click', fu ...
- Resume InlineHookSSDT
在InlineHook中修改了zwOpenProcess函数的中的指令 与Resume HookSSDT同理 找出一个正确的值覆盖上去就行. 突发奇想 有没有可能上去一个驱动或者程序 直接卸载掉I ...
- 一模 (1) day2
第一题:(水题) 题目大意:就是给出扫雷的图,然后统计每个九宫格的雷的个数. 解题过程: 1.好久没做这样的水题了.直接模拟水过.. 第二题: 题目大意:给出一个长度小于1000的数k,要求一个尽可能 ...
- DataGridView绑定数据库,取得的数据插入到DataGridView指定列(一)
实现: 点击button1,从数据库中获得数据,指定数据库的某列数据插入到DataGridView指定列 一.双击button1进入事件代码 private void button1_Click(ob ...
- HandleErrorAttribute 特性使用
public class EwHandleErrorAttribute : HandleErrorAttribute { public override void OnException(Except ...
- Java异常--读书笔记
1. Java将异常分为两种:Checked异常和Runtime异常,Java认为Checked异常都是可以在编译阶段被处理的异常,所以强制程序处理所有的Checked异常:Runtime异常则无需处 ...
- Hibernate中的继承映射
1.继承映射 继承映射分为两种情况:简单继承映射和继承映射. 在简单继承映射中,每个子类都要写一个映射文件. 在继承映射中,只使用一个映射文件.继承映射分为三种情况: 所有子类映射到一张表 需要使用鉴 ...
- bzoj 2820 YY的GCD 莫比乌斯反演
题目大意: 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对 这里就抄一下别人的推断过程了 后面这个g(x) 算的方法就是在线性 ...