Mac Mysql数据库中文乱码问题解决

Mac 下MySQL数据库中文乱码解决方案:

当我们用框架进行数据库的存储操作时,经常会遇到中文乱码的问题。

如:在使用Java中得SSH框架时,我们需要在web.xml文件中配置编码的filter,具体代码是:

<span style="font-family:FangSong_GB2312;font-size:14px;"><!-- 表单处理乱码,必须在OpenSessionInViewFilter的filter之前 -->
<filter>
  <filter-name>CharacterFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CharacterFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping></span>

然后进行数据库存储的时候发现存储到数据库的中文还是乱码,这个时候调试项目发现最后传入SQL的参数值已经是正常的中文了,

那么这个时候我们就需要查看下数据库的编码了。

使用SQL命令查看默认的编码格式:

<span style="font-family:FangSong_GB2312;font-size:14px;">show variables like "%char%";</span>

查看test数据库的编码格式:

<span style="font-family:FangSong_GB2312;font-size:14px;">show create database test;</span>

然后我们进行Max下的MySQL编码修改:

由于Mac版的MySql默认字符集不是utf-8,所以需要如下步骤来进行修改

在 终端中输入

<span style="font-family:FangSong_GB2312;font-size:14px;">sudo -s</span>

然后提示输入密码,此密码为系统密码!

在命令行中输入

<span style="font-family:FangSong_GB2312;font-size:14px;">cd /usr/local/mysql/support-files</span>

继续输入(拷贝文件到etc目录下)

<span style="font-family:FangSong_GB2312;font-size:14px;">cp my-default.cnf /etc/my.cnf</span>

继续输入(进入etc目录)

<span style="font-family:FangSong_GB2312;font-size:14px;">cd /etc</span>

继续输入

<span style="font-family:FangSong_GB2312;font-size:14px;">vimy.cnf</span>

这个时候,你会发现用vi工具打开了my.cnf文件,它的光标的上下左右移动是通过键盘上的h、j、k、l这几个按键,Mac系统版本不一样10.9.3系统光标是键是起作用的!

然后按j键 把光标移动到[client]的最后,添加一个属性:(或使用下键)

<span style="font-family:FangSong_GB2312;font-size:14px;">default-character-set=utf8(此属性mysql 5.5之后不能够在

mysqld下面增加,也就是5.5以前的版本,之后的版本忽略此属性)</span>

继续按下键,把光标移动到[mysqld]后面,添加3个属性

<span style="font-family:FangSong_GB2312;font-size:14px;">default-storage-engine=INNODB 

character-set-server=utf8 

collation-server=utf8_general_ci</span> 

按键盘左上角的esc键推出编辑模式,然后输入一个冒号和字母x

重启MySql服务

此时再次执行数据库操作,中文已经可以正常存储了!

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 . 其实,只要保证cmd客户端和MySQL两者编码一致即可. 但现实是cmd默认的是gbk(cmd属性可以看到中文操作系统下面是gbk编码),而mySQL一般是utf8(我的也是),之前一直进入误区,想要更改cmd的字符编码,可是并不能行得通.网友中提到在mysql中关于客户端编码问题,只需在cmd里告诉mysql服务器我客户端这边编码和想要的结果集编码即可.

  • 详解mysql数据库中文乱码问题

    当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'张三','female','1995-10-08','2015-11-12','Sales',2000,'是个好员工!'); 出现乱码时,可以使用语句 show variables like 'character%'; 来查看当前数据库的相关编码集. 从上图中可以看到 MySQL 有六处使用了字符集,分别为:client .connection.database.results

  • 解决Windows10下mysql5.5数据库命令行中文乱码问题

    重置系统后,很久之前安装的MySQL数据库出现了控制台查询中文乱码问题,时间太久早已经不记得怎么设置了. 网上查询了许多,各种设置,重启数据库后仍然是中文乱码. 可能是我搜索方式不对,最后还好已经解决,特开一处女博记录一下: 打开安装目录下的my.ini文件 我的是:C:\Program Files\MySQL\MySQL Server 5.5下面,修改如下: [client] default-character-set=utf8 port=3306 [mysql] #网上下面这个 gbk 很多

  • 数据库 MySQL中文乱码解决办法总结

    MySQL中文乱码解决办法 前言: MySQL是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 create table user(name varchar(11)); # 创建user表 insert into table user("carl"); # 添加数据 select * from user; insert into user value(&

  • Mac Mysql数据库中文乱码问题解决

    Mac 下MySQL数据库中文乱码解决方案: 当我们用框架进行数据库的存储操作时,经常会遇到中文乱码的问题. 如:在使用Java中得SSH框架时,我们需要在web.xml文件中配置编码的filter,具体代码是: <span style="font-family:FangSong_GB2312;font-size:14px;"><!-- 表单处理乱码,必须在OpenSessionInViewFilter的filter之前 --> <filter> &

  • SqlServer数据库中文乱码问题解决方法

    问题:创建新数据库,存入中文显示乱码??? 原因分析:SQL版的乱码问题还是出现在SQL SERVER的安装设置上.默认安装时系统默认的排序规则是拉丁文的排序规则,但一般人在安装时没有考虑到这一点,安装时只是点取下一步,安装完成后,造成了SQL版在使用过程中出现乱码. 解决方法1: 如果是新建数据库,可以在建立数据时指定排序规则,记得选中文简体(Chinese_PRC_CS_AI_WS):如果数据库中已经有数据,则转换 编码会失败 操作步骤 1.右键数据库>属性 2.点击"选项"

  • Mysql 下中文乱码的问题解决方法总结

    解决Mysql下中文乱码全是问号的问题 又是头疼的中文乱码问题,刚开始我一直用的本地数据库测,这没问题啊,一点问题都没,但我忘记了安卓和web用的是服务器上我搭的数据库,测了一下,果然乱码了. 试了网上不少方法,虽然不知道具体哪个方法给弄好了,就都说一下吧 第一种方法 刚开始先检查MySQL数据库,发现正如网上所说,部分编码是latin1, 是如下的样子: 果断改啊 set character_set_client=utf8; set character_set_connection=utf8;

  • PHP使用PDO操作数据库的乱码问题解决方法

    本文实例讲述了PHP使用PDO操作数据库的乱码问题解决方法.分享给大家供大家参考,具体如下: 当使用 PDO 连接操作数据库的时候,有时会出现:保存在数据库中的汉字为乱码.以文件为 UTF-8 格式,其解决方法如下: (1)实例化的对象直接执行 query() 方法或者 exec() 方法: <?php class DB { static public function getDB() { try { $_opts_values = array(PDO::ATTR_PERSISTENT=>tr

  • PHP基于curl post实现发送url及相关中文乱码问题解决方法

    本文实例讲述了PHP基于curl post实现发送url及相关中文乱码问题解决方法.分享给大家供大家参考,具体如下: 这个问题困扰我几天了,发送的指定网址的url参数,中文总是乱码,指定网址是utf8编码的,我发送的也是utf8编码的.但是还是乱码,开始用的file_get_contents,后来换成curl并在php.ini中开启了php_curl,还是不行,又加了header终于解决.代码如下: $url = 'http://'; //调用接口的平台服务地址 $post_string = a

  • 彻底解决MySQL使用中文乱码的方法

    目录 1.中文乱码 1.1.中文乱码 1.2.查看表字符编码 1.3.数据库与操作系统编码 2.mysql设置变量的范围 2.1.session范围 2.2.global范围 2.3.设置数据全局范围 3.总结 mysql是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 create table user(name varchar(11)); # 创建user表

  • mysql5.5中文乱码问题解决的有用方法

    查看MySQL的字符集 show variables like '%char%'; 发现有部分不是utf-8 解决办法一(推荐,本人实验有用) 修改MySQL配置文件,来到mysql安装目录,找到my.ini文件(可能没有此文件,没有就自己建一个,本人就是没有该文件) 若有my.ini文件 进去之后,在三个地方增加配置 第一个 [client] default-character-set=utf8 第二个 [mysql] default-character-set=utf8 第三个 [mysql

  • 跨浏览器PHP下载文件名中的中文乱码问题解决方法

    本文实例讲述了跨浏览器PHP下载文件名中的中文乱码问题解决方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php $ua = $_SERVER["HTTP_USER_AGENT"]; $filename = "中文 文件名.txt"; $encoded_filename = urlencode($filename); $encoded_filename = str_replace("+", "%20",

  • Docker容器 日志中文乱码问题解决办法

    Docker容器 日志中文乱码问题解决办法 1. 找到dockerfile文件, 如 /use/local/src/Docker/Dockerfile 2. 编辑Dockerfile 添加 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 3. 生成新的镜像文件 docker build -t centos7 . 4. 使用docker images查看新生成的镜像 5. 使用新的镜像启动容器 docker run

随机推荐