加入收藏 | 设为首页 | 会员中心 | 我要投稿 鞍山站长网 (https://www.0412zz.com/)- 应用安全、运维、云计算、5G、云通信!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

linux设置mysql中文编码方法详解

发布时间:2022-06-18 09:06:07 所属栏目:MySql教程 来源:互联网
导读:一般情况下mysql编码我们在安装时就可以选择定了,但在liunx中要能不如windows方便,下面我来介绍在liunx中修改mysql编码吧. #vi /etc/my.cnf,打开my.cnf修改编码:vi /etc/my.cnf 在[mysqld]下添加如下代码: default-character-set=utf8 或者 default-characte
  一般情况下mysql编码我们在安装时就可以选择定了,但在liunx中要能不如windows方便,下面我来介绍在liunx中修改mysql编码吧.
 
  #vi /etc/my.cnf,打开my.cnf修改编码:vi /etc/my.cnf
 
  在[mysqld]下添加如下代码:
 
  default-character-set=utf8 或者 default-character-set=gbk
 
  在[client]下添加:
 
  default-character-set=utf8 或者 default-character-set=gbk
 
  重启MYSQL即可,如果不知道MYSQL在哪个地方,运行如下代码:
 
  #whereis mysql
 
  即可找到MYSQL安装在哪个地方,如果想查设置是不是成功了,可以运行如下命令:
 
  # mysql -u root -proot
  Welcome to the MySQL monitor. Commands end with ; or g.
  Your MySQL connection id is 2 to server version: 5.0.22
  Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
  mysql> show variables like '%char%';
  +--------------------------+----------------------------+
  | Variable_name | Value |
  +--------------------------+----------------------------+
  | character_set_client | gbk |  
  | character_set_connection | gbk |  
  | character_set_database | gbk |  
  | character_set_filesystem | binary |  
  | character_set_results | gbk |  
  | character_set_server | gbk |  --phpfensi.com
  | character_set_system | utf8 |  
  | character_sets_dir | /usr/share/mysql/charsets/ |  
  +--------------------------+----------------------------+
  8 rows in set (0.00 sec)
  上面的就已经显示编码设置成功了,在要发送中文或者要读取中文的JSP页面,最好所有页面,都添加如下声明:
 
  <%@page pageEncoding="gbk"%>  
  <%@ page contentType="text/html;charset=gbk"%>  
  <% request.setCharacterEncoding("gbk"); %>
  在<head>标签对中添加如下:
 
  <meta http-equiv="Content-Type" content="text/html; charset=gbk">
 
  注意在servlet中对请求进行响应的方法中同样要有如下代码:
 
  response.setContentType("text/html;charset=gbk");
 
  由于不明原因firefox发送的请求仍然是latin1的时候执行这一步,在将请求的参数插入数据库之前还要再执行一次转码(将latin1编码转换为utf-8),例如:
 
  String utf8_str = new String( latin_str .getBytes("latin1"),"gbk");
 
  这一步可以写在一个过滤器中,不怕麻烦也可以在每一次在将请求数据插入之前都进行一次转码.

(编辑:鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读