记录记录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. CF1400-C. Binary String Reconstruction

    CF1400-C. Binary String Reconstruction 题意: 对于一个二进制字符串\(s\),以及一个给定的\(x\),你可以通过一下操作来得到字符串\(w\): 对于字符串\ ...

  2. OpenStack-知识点补充

    登录计算节点查看进程 [root@compute ~]# ps aux | grep kvm root 824 0.0 0.0 0 0 ? S< 10:19 0:00 [kvm-irqfd-cl ...

  3. TCP 连接

    面试题传送 TCP 报文格式 此处介绍建立或者断开TCP连接时,需要了解的TCP报文段首部字段含义: 序列号 seq:占4个字节(32位),用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上 ...

  4. Shpfile文件的字段类型说明

    Shpfile文件的字段类型设置如下表所示: 字段类型 字符 字段长度 长整型 N 9 短整型 N 4 浮点型 F 13 双精度 F 19 文本 C 50 特别需要注意的是字段长度,在导出SHP的时候 ...

  5. oslab oranges 一个操作系统的实现 实验二 认识保护模式

    https://github.com/yyu/osfs00 实验目的: 理解x86架构下的段式内存管理 掌握实模式和保护模式下段式寻址的组织方式. 关键数据结构.代码组织方式 掌握实模式与保护模式的切 ...

  6. 2018大都会赛 A Fruit Ninja【随机数】

    题目链接:戳这里 题意:一个平面里有n个点,问存不存在一条直线上有m个点,满足m >= n*x. 解题思路:0<x<1,且x小数点后只有1位,也就是说10*m > n.假设存在 ...

  7. Java中new一个对象是一个怎样的过程?JVM中发生了什么?

    Java中new一个对象的步骤: 1. 当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能 在常量池中能否定位到一个类的符号引用 (即类的带路径全名),并且检查这个符号引用代表的类是否已被 ...

  8. 关于st表的推导

    #include <bits/stdc++.h> using namespace std; const int maxn=1e6+7; int st[maxn][32]; int a[ma ...

  9. 内存耗尽后Redis会发生什么

    前言 作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当 Redis 服务器的内存耗尽后,如果继续执行请求命令,Redis 会如何处理呢? 内存回收 使用Redis 服务时,很多 ...

  10. js closures all in one

    js closures all in one setTimeout 闭包,log(i, arr[¡]) var, let, closures, IIFE "use strict"; ...