MySQL编码问题解决

1、首先查看你的mysql编码
mysql的默认编码是什么Latin1的,不支持中文的哟,做后台简单应用还ok,一旦用到前台用户输入上,不可避免的要用到我大中文问题

mysql -uroot -p
******
******
>show variables like 'character%';
>+--------------------------+----------------------------+
| variable_name | value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

释义:
character_set_client 客户端编码方式;
character_set_connection 建立连接使用的编码;
character_set_database 数据库的编码;
character_set_results 结果集的编码;
character_set_server 数据库服务器的编码;

只要保证以几个采用的编码方式一样,就不会出现乱码问题

2、linux系统下,修改mysql数据库默认编码的步骤为:

  • 停止mysql的运行 /etc/init.d/mysql start (stop) 为启动和停止服务器 备注:也可以使用 service mysqld restart命令
  • mysql主配置文件为my.cnf,一般目录为/etc/mysql var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹
  • 当需要修改mysql数据库的默认编码时,需要编辑my.cnf文件进行编码修改,在linux下修改mysql的配置文件my.cnf,文件位置默认/etc/my.cnf文件(如果/etc/mysql/my.cnf下没有my.cnf,可在/usr/share/mysql拷贝一个.cnf的文件,如my-small.cnf,重命名为my.cnf进行修改!)
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
character-set-server=utf8
socket=/var/lib/mysql/mysql.sock

[mysql]
default-character-set=utf8

[client]
port=3306
default-character-set=utf8


# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

3.创建数据库时指定编码的两种方式

create  database  ms_db  character set  utf8  collate utf8_general_ci;
create  database  if  not  exists  netctoss  default character set utf8;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值