记录记录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. hoj2430 Counting the algorithms

    My Tags   (Edit)   Source : mostleg   Time limit : 1 sec   Memory limit : 64 M Submitted : 725, Acce ...

  2. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲网上区域赛模拟赛. A.Easy Equation (前缀和/差分)

    题意:RT,给你四个数\(a,b,c,d\),求\(x+y+z=k\)的方案数. 题解:我们可以先枚举\(x\)的值,然后\(x+y\)能取到的范围一定是\([x,x+b]\),也就是说这个区间内每个 ...

  3. Codeforces Round #479 (Div. 3) D. Divide by three, multiply by two (DFS)

    题意:给你一个长度为\(n\)的序列\(a\).对它重新排列,使得\(a_{i+1}=a_{i}/3\)或\(a_{i+1}=2*a_{i}\).输出重新排列后的序列. 题解:经典DFS,遍历这个序列 ...

  4. 一文弄懂使用Jmeter来进行性能测试

    该文章是基于上一次文章的 软件测试漫谈(web测试,自动化测试,Jmeter) 的续篇, 主要是详细讲解 Jmeter 的入门教程. 因为上次的文章只是简单地讲解了 Jmeter 的使用和一些概念,所 ...

  5. 二、Jmeter 后置处理器(BeanShell PostProcessor)

    1.新建JDBC Request,如下图所示: 重要的参数说明: Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable N ...

  6. [Angular] 删除旧版本,升级安装最新版本

    目录 删除旧版本 清除未卸载干净的angular-cli缓存 对于Linux 对于Windows 安装最新版本 查看安装版本 创建新项目 删除旧版本 npm uninstall -g angular- ...

  7. docker的企业级仓库-harbor

    Harbor 一.背景 Docker中要使用镜像,我们一般都会从本地.Docker Hub公共仓库或者其它第三方的公共仓库中下载镜像,但是出于安全和一些内外网的原因考虑,企业级上不会轻易使用.普通的D ...

  8. codeforce 849A

    A. Odds and Ends time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  9. Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分享 ...

  10. μC/OS-III---I笔记11---就绪任务列表管理

    就绪优先级为映像响表 在UCOSIII内,任务调度是要先找到优先级最高的任务,然后执行.理论上对于UCOSIII可以有无数个优先级,每个优先级又可以有无数个任务但是对于这么多的任务如何快速查到到当先就 ...