参考文章:

https://www.w3schools.com/php/func_mysqli_set_charset.asp

http://php.net/manual/zh/mysqli.set-charset.php

http://php.net/manual/zh/mysqlinfo.concepts.charset.php

环境:

centOS7

mariadb10.2.7

php5.4.16

PHP文件:

test.php

  1. <?php
  2. $dbc = mysqli_connect("localhost", "root", "123456", "elvis_store") or die("数据库连接失败");
  3.  
  4. $sql = "INSERT into email_list values ('测试','中文','test@126.com');";
  5.  
  6. $result = mysqli_query($dbc,$sql) or die("数据插入失败");
  7. mysqli_close($dbc);
  8.  
  9. echo "数据添加成功";
  10. ?>

运行后,提示插入成功。进入mariadb控制台查询,显示乱码。

(如果插入不成功,问题可能在mariadb的设置上,见文章:mariaDB中文乱码 的解决办法)

但是直接在mariadb控制台直接插入数据无乱码。

分析问题原因在php上

解决:

mysqli_set_charset   — 设置默认字符编码

  1. <?php
  2. $dbc = mysqli_connect("localhost", "root", "123456", "elvis_store") or die("数据库连接失败");
  3.  
  4. $sql = "INSERT into email_list values ('测试','中文','test@126.com');";
  5.  
  6. mysqli_set_charset($dbc,"utf8");
  7.  
  8. $result = mysqli_query($dbc,$sql) or die("数据插入失败");
  9. mysqli_close($dbc);
  10.  
  11. echo "数据添加成功";
  12. ?>

在sql运行前设置默认字符编码。

问题解决。

php向mariaDB插入数据时乱码问题解决 --- mysqli_set_charset(设置默认字符编码)的更多相关文章

  1. eclipse连接mysql,插入数据时乱码

    问题:如果eclipse中项目的编码方式为utf-8 插入数据后,在数据库中查看后,汉字出现乱码情况 解决方法: 1.在获取连接的时候将conn = DriverManager.getConnecti ...

  2. Mybatis + Mysql 插入数据时中文乱码问题

    近日跟朋友一起建立一个项目,用的是spring+mybatis+mysql. 今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下. 对于数据库操作中出现的中文乱 ...

  3. mysql插入数据时,中文乱码

    MySQL 插入数据时,中文乱码问题的解决(转) 当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'张三','female','1 ...

  4. (转)MySQL 插入数据时,中文乱码问题的解决

    MySQL 插入数据时,中文乱码问题的解决  原文:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当向 MySQL 数据库插 ...

  5. oracle 使用occi方式插入数据时中文乱码

    这个是由于数据库的编码格式和我们输入的编码格式不一致导致的. 我们使用c++插入数据时数据库的中文显示??(即乱码),但同样的数据使用navicat进行插入却显示正常. 因此,问题并不是处在服务器端的 ...

  6. PLSQL插入数据中文乱码的问题

    PLSQL插入数据中文乱码的问题 中文乱码就是编码不统一所导致的了,解决办法只需要把编码统一下即可解决了. 具体操作步骤如下: 1.查看服务器端编码 select userenv('language' ...

  7. Spring MVC3返回JSON数据中文乱码问题解决(转)

    Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...

  8. 【JDBC】向数据表插入数据时,自动获取生成的主键

    数据表设计时,一般都会有一个主键(Key)(自己指定),有时也可以使用联合主键: 有许多数据库提供了隐藏列为表中的每行记录分配一个唯一键值(如:rowid): 当我们没有指定哪一列作为主键key时,数 ...

  9. 触发器修改后保存之前的数据 表中插入数据时ID自动增长

    create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...

随机推荐

  1. Android 四大布局属性介绍

    线性布局 控件距离布局底,左,右,顶部部的距离 android:paddingBottom="35.0dip"          android:paddingLeft=" ...

  2. 东大oj1155 等凹函数

    Problem Description 定义一种数字称为等凹数字,即从高位到低位,每一位的数字先递减再递增,且该数是一个回文数,即从左读到右与从右读到左是一样的,仅形成一个等凹峰,如543212345 ...

  3. Codeforces 1043 - A/B/C/D/E/F - (Undone)

    链接:http://codeforces.com/contest/1043 A - Elections - [水水水水题] 题意: 我和另一个人竞争选举,共有 $n$ 个人投票,每个人手上有 $k$ ...

  4. 数组/Array/Tuple/yield

    数组 如果需要使用同一类型的多个对象,就可以考虑使用集合和数组.如果需要使用不同类型的多个对象,可以考虑使用Tuple(元组) 数组的声明 在声明数组时,应先定义数组元素中的类型,其后是一对空方括号和 ...

  5. day5_不能循环删除list-深拷贝、浅拷贝(import copy)

    一.循环删list里面的元素,会导致下标错位,结果是不对的举例:想删除奇数 l = [1,1,1,2,3,4,5] for i in l: if i%2 !=0: l.remove(i) #删除后,导 ...

  6. 洛谷P3516 PRZ-Shift [POI2011] 构造

    正解:构造 解题报告: 传送门! umm这题就是很思维的?就是想到了就A了想不到就做不出来,然而我也只能是做到理解不知道怎么想出来,,,感觉构造题什么的就很真诚,一点套路也没有,所以像我这种没有脑子只 ...

  7. luogu3978 [TJOI2015]概率论

    题目链接:洛谷 题目大意:求所有$n$个点的有根二叉树的叶子节点数总和/$n$个点的有根二叉树的个数. 数据范围:$n\leq 10^9$ 生成函数神题!!!!(我只是来水博客的) 首先$n$个点的有 ...

  8. 动物管理员--zooKeeper-01

    ZooKeeper集群角色介绍: 最典型集群模式:Master/Slave 模式(主备模式).在这种模式中,通常 Master 服务器作为主服务器提供写服务,其他的 Slave 服务器从服务器通过异步 ...

  9. php 实现简拼

    <blockquote>model::::::::::::::::::::::::::::: function getFirstCharter($str){if(empty($str)){ ...

  10. fiddler学习总结--Web端抓包

    步骤一: Fiddler的基本配置:Tools-->option-->Connections: 就可以进行抓包了 步骤二: 可以通过一些设置过滤: 步骤三: 抓取HTTPS的请求:1.安装 ...