• mysql表单输入数据出现中文乱码解决方法


    MySQL会出现中文乱码的原因在于
    1.server本身设定问题,一般来说是latin1

    2.建库建表时没有制定编码格式。

    解决方法:

    1.建库的时候

    1 CREATE DATABASE test  
    2 CHARACTER SET 'utf8'  
    3 COLLATE 'utf8_general_ci'; 

    2.建表的时候

    1 CREATE TABLE content (  
    2     text VARCHAR(100)
    3 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

    基本就不会出问题了,即建库和建表时都使用相同的编码格式。

    1.查看默认编码格式: 

    show variables like "%char%"; 

    以下是修改后的

    mysql> show variables like "%char%"; 
    +--------------------------+---------------------------------------------------------+
    | Variable_name            | Value                                                   |
    +--------------------------+---------------------------------------------------------+
    | character_set_client     | utf8                                                    |
    | character_set_connection | utf8                                                    |
    | character_set_database   | utf8                                                    |
    | character_set_filesystem | binary                                                  |
    | character_set_results    | utf8                                                    |
    | character_set_server     | utf8                                                    |
    | character_set_system     | utf8                                                    |
    | character_sets_dir       | /usr/local/mysql-5.7.13-osx10.11-x86_64/share/charsets/ |
    +--------------------------+---------------------------------------------------------+
    8 rows in set (0.01 sec)

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

    1 +----------+---------------------------------------------------------------+
    2 | Database | Create Database                                               |
    3 +----------+---------------------------------------------------------------+
    4 | test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    5 +----------+---------------------------------------------------------------+
    6 1 row in set (0.00 sec)

     

    如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 GBK
    1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;
    2.在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参;
    3.在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,告诉MySQL连线内容都要使用
    utf8或者gbk;

    地址 http://sshpark.com.cn/
  • 相关阅读:
    MySQL严格模式总结
    python筛选关键字---error
    将pem证书转换成p12格式证书
    ## 游戏网关源码赏析
    pid获取
    顺序io_磁盘队列
    nsq源码阅读3_编译nsqd
    nsq源码阅读2_核心数据结构
    nsq源码阅读1_目录结构
    如何设计Mqtt的Retain?
  • 原文地址:https://www.cnblogs.com/huangjiaming/p/5706708.html
Copyright © 2020-2023  润新知