记录记录PHP post提交表单导入mysql中文乱码的问题

关于乱码,这是个糟糕的问题!涉及到很多地方

解决思路:程序所涉及的环境字符集不一致导致

  1. mysql出现乱码一般是mysql数据库内部的字符集出现问题

    为了防止出现一些后续的问题

    在建库的时候就要设置默认字符集

    CREATE DATABASE 库名 DEFAULT CHARSET=UTF8;

    其他的一些操作

    查看mysql各个地方的字符集设置情况

    SHOW VARIABLES LIKE 'character%';
  • 顺便记录一下mysql数据库 各个字符集的作用

  1. character_set_client

    解析客户端sql语句的字符集

  2. character_set_connection

    通常与character_set_client保持一致,当进入查询时,会将sql语句 由character_set_client转变为 character_set_connection字符集

  3. character_set_database

    新建数据库的默认字符集,通常建库的时候就指定一下默认的字符集

    默认数据库的字符集决定了新建表的默认字符集

    默认表的字符集又决定了字段的默认字符集

    换句话说,如果我们建库指定了默认字符集,建表的时候就不用去指定默认字符集了

    如果建表,建库都不指定默认字符集,默认就会用character_set_database初始的字符集去建表,

    而通常情况下,初始的character_set_database字符集是西欧的字符集,对英文友好,对中文不友好!

  4. character_set_filesystem

    文件系统字符集编码,主要用于解析文件名称的字符串字面值(默认就好)

  5. character_set_results

    返回给客户端的查询结果或者错误提示的字符集

  6. character_set_server

    服务器端的默认编码字符集

  7. character_set_system

    mysqlsever储存元数据的编码字符集(默认就好)

  8. character_set_dir

    mysql字符集编码储存的文件夹

    如果需要改动某个字符集,可以用以下类似的语句

    SET character_set_server = utf8;

    如果以上都改了,还是出现问题,那说明mysql内部的字符集是没有问题的,剩下的应该就是外部环境的字符集的问题

  9. 网上找了很久,发现可能是操作系统字符集的问题

    打开cmd 输入 chcp 查看活动代码页

    win10默认用的GBK字符集,修改字符集为 UTF-8

修改重启后,查看字符活动代码页

这时候再次POST提交表单,导入数据库中文就可以正常显示了!

记录PHP post提交表单导入mysql中文乱码的问题的更多相关文章

  1. 可遇不可求的Question之导入mysql中文乱码解决方法篇

    可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?

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

    MySQL会出现中文乱码的原因在于1.server本身设定问题,一般来说是latin1 2.建库建表时没有制定编码格式. 解决方法: 1.建库的时候 CREATE DATABASE test CHAR ...

  3. 【The Most Important】浅谈JSP表单Post方式中文乱码问题

    首先祝大家鸡年吉祥!在这里我要说下这两天里这个问题困扰着我,大过年的心情都被烦扰的不好了,所以我带着兴奋的心情来赶快完成这篇博客,解决大家的问题.我的问题是post方式传递表单数据,Tomcat服务器 ...

  4. 关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理

    Web页面中经常碰到这类问题,就是客户端多次点击一个按钮或者链接,导致程序出现不可预知的麻烦. 客户就是上帝,他们也不是有意要给你的系统造成破坏,这么做的原因很大一部分是因为网络慢,点击一个操作之后, ...

  5. A、B同时打开一个页面进行同一条数据库记录进行修改,A修改完成后提交表单,A修改的数据保存完成后;当B也修改完成后,提交数据进行数据修改。此时B修改的内容会覆盖A修改的内容,请问如何避免?

    A.B同时打开一个页面进行数据中的一条数据进行修改,A修改完成后提交表单,数据修改保存完成后B开始页面也修改完成,开始提交进行修改.此时B修改的内容会覆盖A的内容,请问如何避免? 通过搜索和我个人总结 ...

  6. 前端提交表单两种验证方式记录 jq或h5 required属性

    JQuery: <form id="form"> <input type="text" name="aaa"> &l ...

  7. 总结:JSP几种提交表单方法

    问题描述: 最近进了一家“老公司”工作,说他老不是说他成立的早,是因为他的编程框架太l.......low了.EJB的规范模式,使用是IBM经过Eclipse二次开发出来的RAD(Rational A ...

  8. 解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象

    之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的f ...

  9. 无法在提交表单前通过ajax验证解决办法

    博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单. 例如:一个简单的验证函数 function check(){ $.post(&q ...

随机推荐

  1. Codeforces Round #643 (Div. 2) B. Young Explorers (思维,贪心)

    题意:给你一组人\(a\),现在要将这些人进行分组,对于\(i\),只有某一组的人数\(\ge a_{i}\)时,\(i\)才可以加入这个组,问最多能够有多少组,(不必将所有人都选用). 题解:我们将 ...

  2. linux搭建网站

    CentOS 1.安装 yum -y install nginx *或者安装指定版本,版本网址:http://nginx.org/packages/centos/7/x86_64/RPMS/ rpm ...

  3. 包机制和javadoc

    包机制 一般用公司域名倒置作为包名: eg com.baidu.www 可以在src里自己鼠标右键建立包,包内可以存放代码, 包的路径必须在最上面, eg:package com.kuang; (自动 ...

  4. 银河麒麟V10安装ASP.NET Core并配置Supervisor让网站开机自动运行

    银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化.云计算.大数据.工业互联网时代对主机系统可靠性.安全性.性能.扩展性和实时性的需求,依据CMMI 5级标准研制的提供内生安全.云原生支 ...

  5. Eclipce怎么恢复误删类

    选择误删除文件在eclipse所在包(文件夹) 在包上单击右键. 选择restore from local history... 在弹出的对话框中选择需要恢复的文件

  6. CSS hover box

    CSS hover box transition 踩坑指南, display: none; 作为初始状态,不会产生动画效果,必须设置 height: 0; 或 width: 0; 来实现隐藏! tra ...

  7. Design Patterns All in One (JavaScript Version)

    Design Patterns All in One (JavaScript Version) JavaScript 设计模式 JavaScript 数据结构 23种设计模式分为 3 大类: 创建型模 ...

  8. Tumult Hype

    Tumult Hype hype generated script https://tumult.com/hype/documentation/ HTML5 animation editor http ...

  9. 使用 js 实现一个简易版的 drag & drop 库

    使用 js 实现一个简易版的 drag & drop 库 具有挑战性的前端面试题 H5 DnD js refs https://www.infoq.cn/article/0NUjpxGrqRX ...

  10. KMP 算法 & 字符串查找算法

    KMP算法 Knuth–Morris–Pratt algorithm 克努斯-莫里斯-普拉特 算法 algorithm kmp_search: input: an array of character ...