mysql 编码是 latin1 如何 获取 里面中文数据 ???

mysql 编码是 latin1 如何 获取 里面中文数据 ???,第1张

直接修改数据库中这个表里面字段的编码,改成utf-8类型,就可以存储和读取中文了,alter table 表名 change 字段名 字段名 varchar() character set utf8 not null。

latin1转utf8

步骤一 将待导出的数据表的表结构导出(可以用Phpmyadmin、mysqldump等,很简单就不说了),然后将导出的create table语句的CHARSET=latin1改为CHARSET=utf8,在目标库newdbname中执行该create table语句把表结构建好,接下来开始导出-导入数据

步骤二 命令行:进入mysql命令行下,mysql -hlocalhost -uroot -p*** dbname

步骤三 执行SQL select * from tbname into outfile '/usr/local/tbname.sql'

步骤四 将tbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的'转换->ASCII到UTF-8(Unicode编辑)',或者将文件另存为UTF-8(无BOM)格式

步骤五 在mysql命令行下执行语句 set character_set_database=utf8 注:设置mysql的环境变量,这样mysql在下一步读取sql文件时将以utf8的形式去解释该文件内容

步骤六 在mysql命令行下执行语句 load data infile 'tbname.sql' into table newdbname.tbname

1. 查看MySQL数据库的默认编码

有如下两种方式,

(1)使用status命令

mysql>status

图1 status命令

(2)使用show variables命令

mysql>show variables like 'char%'

图2 show variables命令

如果要查看某个数据库的编码,在运行上面的命令前,应先执行use db_name命令切换数据库(db_name为要查看的数据库名)。

2. 改变MySQL数据库的默认编码

安装MySQL数据库时的默认编码是latin1,实际使用时可能要使用其他编码。下文描述如何将默认编码改为utf8:

首先修改MySQL的配置文件/etc/mysql/my.cnf:

在[client]下追加:

default-character-set=utf8

在[mysqld]下追加:

character-set-server=utf8

在[mysql]下追加:

default-character-set=utf8

修改完毕后,使用如下命令之一重启mysql服务:

service mysql restart

/etc/init.d/mysql restart

改变后,之前手工创建的数据库如未显式指定编码,则其编码仍是默认的latin1,可使用如下命令更改编码:

mysql>alter database db_name CHARACTER SET utf8

参考资料:

[1] http://www.2cto.com/os/201404/292378.html


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9933687.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存