mysql中的汉字为乱码

来源:互联网 发布:gta5pc低配优化补丁 编辑:程序博客网 时间:2024/06/09 23:09

1. 问题描述

在erlang中,使用google 的 mysql控件与mysql数据库进行交互。但是,写入到mysql数据库中的中文汉字均为乱码


2. 解决方法
① 问题原因可能在于, mysql系统没有正确支持汉字编码. 可以使用如下指令查询mysql各个环节的编码方式
mysql>> show variables like 'character%';

② 具体到erlang的mysql控件, 对格式的控制体现在连接时的编码控制符, 如下:
mysql:start_link(mysql_leo, Host, Port, User, Pwd, DB, LogFun, utf8)
其中,最后一个参数utf8规定mysql的连接编码格式为utf8. 本文之所以出现乱码问题,原因就在于没有设置这个参数(默认不是utf8)


3. 深入描述
在linux下, 可以通过配置文件my.cnf修改mysql默认的编码格式,描述如下:
①在[client]下增加 
default-character-set=utf8 
②在[mysqld]下增加 
default-character-set=utf8  
init_connect='SET NAMES utf8' 
这里没有进行验证,请读者自己尝试.

原创粉丝点击