• mysql编码的那点事


    Mysql编码问题 

    php页面可以向mysql插入英文字符,但就是不能插入中文字符,在cmd客户端也可从插入,这是困扰我两天的问题。

     

         在网上找了很多资料,最终确定了是字符编码这个地方出现了问题,首先要想通过php页面向mysql数据库插入中文字符,则必须要文件编码、代码的编码和mysql的编码保持一致性,我当前用的编码是utf-8,所以设置了文件的默认编码为utf-8之后,还会在每个php页面上加上 header("content-type:text/html;charset=utf-8")、mysql_query(“set names utf8”)

     

         接下来就是mysql编码问题了,也要做到将编码设置为utf-8,我的版本是win764位的mysql5.6免安装版的,在mysql.ini[mysqld]中添加character_set_server = utf8,千万不要添加default-character-set=utf-8,因为这样会导致你的mysql不能开启,然后再通过show variables like '%char%'查看编码的设置,

     

    Character_set_clientCharacter_set_connectionCharacter_set_databaseCharacter_set_results全都是utf-8的,基本没问题了。

     

         但是为了避免出现问题,我们尽量在创建数据库和表的时候就设置它的编码,create database if not exists databasename default charset utf8;create table if not exists table tablename (col type) default charset utf8;当然我们也可以修改他的默认编码,修改数据库编码alter database databasename default charset utf8;修改表的编码alter table tablename default charset utf8,这样基本就不会出现不能插入中文字符,或者是插入中文后显示乱码了。

     

  • 相关阅读:
    html设置360兼容/极速模式
    es查询备忘录
    TypeError: __init__() got an unexpected keyword argument 'strict'
    pandas处理csv
    scrapy中cookie处理
    滑动验证码破解(一)
    python 自定义属性访问 __setattr__, __getattr__,__getattribute__, __call__
    数据库的增删改、单表查询
    库的操作,表的操作,数据类型,完整性约束
    Mysql常用命令(二)
  • 原文地址:https://www.cnblogs.com/wenxianguo/p/3852218.html
Copyright © 2020-2023  润新知