首页 > 编程知识 正文

mysql查看编码格式,设置数据库字符集为utf8

时间:2023-05-05 22:03:13 阅读:120775 作者:4021

程序处理

这是历史遗留系统,旧系统由c开发,在插入数据时,MYSQL各层(服务器、数据库、表、列)的代码不统一。 这种情况基本上是由于MYSQL的缺省安装,实际的数据代码是LATIN1,但使用Java开发的新系统需要与该传统系统共享数据库,采用了UTF8代码。 遭遇了

我弄清楚了这个问题。 在Java中,将乱码转换为普通显示的UTF8编码中文很容易。 接下来是转换代码

//*

* LATIN1转UTF8

*

*@paramlatin1Latin1(iso_8859_1)字符串

* @return UTF8字符串

*/

publicstringencodingconvert (string latin1 ) {

返回新字符串(

latin1.getbytes (标准charsets.iso _ 8859 _1)、

标准charsets.utf _ 8

);

}

这是一种使用程序代码的处理方法,在某些情况下,需要直接从SQL返回的结果集中获取UTF8数据。 请看以下内容

SQL内置函数转换

上面的程序代码可以处理字符集转换,以下是用SQL转换

CONVERT和CAST函数:必须首先将LATIN1的转换为BINARY,然后将BINARY转换为UTF8

``````

选择

USER.USERID AS USERID,

USER.NICKNAME AS NICKNAME_LATIN1,

转换(

CAST (

转换(user.nicknameusinglatin1) AS BINARY

)使用utf 8

) AS NICKNAME_UTF8

来自

用户

WHERE

USERID=15889;

``````

其中LATIN1_COLUMN是LATIN1编码的字符集

最后,这样的变换可以是视图。 程序不需要转换

``````

CREATE VIEW V_USER AS

选择

USER.USERID AS USERID,

转换(

CAST (

转换(user.nicknameusinglatin1) AS BINARY

)使用utf 8

) AS NICKNAME

来自

用户;

``````

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。