mysql中latin1编码中文转utf8

在mysql中,对应的表字段编码通常默认为lartin1编码,在本地客户端显示的时候看着是乱码,但是通过mysql -u -p -h命令登录后,select查询到数据是正常的,通过jdbc或者php等去取回来的中文是乱码;

也就是中文在mysql中是lartin1,到我们自己本地或者用navicat等select却是乱码,使用mysql内置函数来转换一下

SELECT convert(unhex(hex(convert(name using latin1))) using utf8) as name FROM test

上面语句意思为,在表test中,字段name编码为lartin1查询后结果转换为utf8编码结果

ps(吐槽一下!!!):看到很多人还要通过jdbc查询的时候又要set names lartin1,还要new String(rs.getString("SampleColumnName").getBytes("ISO-8859-1"), "UTF-8"),扯了一大堆,最后结果还是乱码,有毛用,一个mysql内置函数就搞定了,理解起来也简单

原文地址:https://www.cnblogs.com/xjh713/p/8933523.html

时间: 2024-10-06 23:24:08

mysql中latin1编码中文转utf8的相关文章

mysql 5.5 编码设置为utf8 转载自:http://outofcontrol.ca/thoughts/comments/change-mysql-5.5-default-character-set-to-utf8

Change MySQL 5.5 default character-set to UTF8 连接里是linux下的 在window下my.ini Add under [client]  the following code snippet: loose-default-character-set = utf8 Add under [mysqld] the following code snippet:init_connect=‘SET collation_connection = utf8_u

关于mysql中数据库编码的问题

今天在学习mysql的时候发现了我的编码是 : latin1 的情况,应该是不支持中文,虽然还没有尝试过,先给他修改了吧. 先查询一下默认的情况: mysql> show variables like '%collation%';   从网上找的查询命令,虽然还不知道这个 collation是干嘛用的+--------------------------+----------------------------+| Variable_name          |           Value

ubuntukylin_mysql5.7基础 将mysql的默认编码修改为utf8

镇场文:       学儒家经世致用,行佛家普度众生,修道家全生保真,悟易理象数通变.以科技光耀善法,成就一良心博客.______________________________________________________________________________________________________Operating System:UbuntuKylin 16.04 LTS 64bitmysql: Ver 14.14 Distrib 5.7.17, for Linux (x

如何修改wampserver中mysql中字符编码的解决方案

因为我用的一般都是utf8,所以有必要改一下: 打开mysql控制台,输入密码登录之后,执行命令: show variables like '%char%'; 注意引号的中英文格式以及最后面的分号不要丢: 执行完之后会显示出Variable的名字和对应的value值: 之后打开mysql中的配置文件my.ini,找到 [client] 在其下面添加一句:default-character-set=utf8 找到[mysql] 在其下面添加和上面一样的内容: 找到[mysqld],一般是在最下面那

解决mysql中无法显示中文的一个实例

1 登录数据库 amp1:~ # mysql -uroot -pmysql.rzrk Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2132 Server version: 5.0.95-log SUSE MySQL RPM Type 'help;' or '\h' for help. Type '\c' to clear the current input statem

在 MySQL 中创建一个中文数据库

安装完 MySQL 后,要修改密码. step 1: SET PASSWORD = PASSWORD('your new password'); step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; step 3: flush privileges; 接下来要建立一个支持中文的数据库. p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #0000

关于mysql中设置编码的重要性

今天跟同事遇到一个问题,这个问题简单点来说就是:一条sql语句在程序中执行没有结果,但是用数据库客户端执行却有结果,sql语句大概是这样 select id,name from user where age=13 and name='张三' , (真正的sql当然不能贴出来啦).顺便说一下我们持久层用的是mybatis,检查了sql的拼写,也检查了参数是不是有空格,数据库中是不是有空格,结果发现都没有问题.数据是从正式库导到本地库的,我们发现正式库上运行是没有问题的,我们怀疑是本地数据库的问题,

windows server2008 R2下mysql 5.7版本中修改编码为utf-8的方法步骤

首先通过 show variables like 'character_set_%'; 查看mysql字符集情 默认编码为 latin1 然后关闭数据库 在mysql安装目录下找到my.ini文件 在其中添加 [client] default-character-set=utf8 在[mysqld]下添加 character-set-server=utf8 重启mysql 就能将mysql数据库默认编码改为utf-8 网上很多资源都是在[mysqld]下添加 default-character-

mysql的安装、C++访问mysql数据库、编码设置问题

一.mysql的安装,这个相对简单,直接去官网下载mysql安装程序,就可以完成安装过程,网上有很多安装教程,这个没什么注意事项. 二.C++访问mysql,主要是用到mysql定义的头文件,内部定义了各种数据结构和函数,比如MYSQL,MYSQL_RES,MYSQL_ROW,mysql_real_connect等等一系列的结构和函数.这里要注意的就是将头文件及lib文件以及dll文件配置到当前开发环境来进行访问mysql数据库. 以最新的vs2013作为示例说一下配置过程.为了写的清晰点,在网