当前位置:
  1. 魔豆IT网
  2. 系统教程
  3. MySQL
  4. 正文

mysql的默认编码是拉丁,我每次JSP制作网页用insert语句插入数据库时汉字都会显示成问号,安装mysql后,启动服务并登陆,使用show variables命令可查看mysql数据库的默认编码:

由上图可见database和server的字符集使用了latin1编码方式,不支持中文,即存储中文时会出现乱码。以下是命令行修改为utf-8编码的过程,以支持中文。

(1)关闭mysql服务

[plain]view plaincopy

servicemysqlstop

(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='SETNAMESutf8'

(具体如截图所示):

保存退出。

(3) 重新启动mysql服务

[plain]view plaincopy

servicemysqlstart

至此,完成修改默认编码,登陆mysql后重新使用show variable like '%character%'获得的输出效果如下:

具体操作和输出情况如下:

解决方法:打开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%';

相关阅读

  • 暂无推荐

《》由网友“”推荐。

转载请注明: