php向mariaDB插入数据时乱码问题解决 --- mysqli_set_charset(设置默认字符编码)
参考文章:
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
<?php
$dbc = mysqli_connect("localhost", "root", "123456", "elvis_store") or die("数据库连接失败"); $sql = "INSERT into email_list values ('测试','中文','test@126.com');"; $result = mysqli_query($dbc,$sql) or die("数据插入失败");
mysqli_close($dbc); echo "数据添加成功";
?>
运行后,提示插入成功。进入mariadb控制台查询,显示乱码。
(如果插入不成功,问题可能在mariadb的设置上,见文章:mariaDB中文乱码 的解决办法)
但是直接在mariadb控制台直接插入数据无乱码。
分析问题原因在php上
解决:
mysqli_set_charset — 设置默认字符编码
<?php
$dbc = mysqli_connect("localhost", "root", "123456", "elvis_store") or die("数据库连接失败"); $sql = "INSERT into email_list values ('测试','中文','test@126.com');"; mysqli_set_charset($dbc,"utf8"); $result = mysqli_query($dbc,$sql) or die("数据插入失败");
mysqli_close($dbc); echo "数据添加成功";
?>
在sql运行前设置默认字符编码。
问题解决。
php向mariaDB插入数据时乱码问题解决 --- mysqli_set_charset(设置默认字符编码)的更多相关文章
- eclipse连接mysql,插入数据时乱码
		
问题:如果eclipse中项目的编码方式为utf-8 插入数据后,在数据库中查看后,汉字出现乱码情况 解决方法: 1.在获取连接的时候将conn = DriverManager.getConnecti ...
 - Mybatis + Mysql 插入数据时中文乱码问题
		
近日跟朋友一起建立一个项目,用的是spring+mybatis+mysql. 今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下. 对于数据库操作中出现的中文乱 ...
 - mysql插入数据时,中文乱码
		
MySQL 插入数据时,中文乱码问题的解决(转) 当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'张三','female','1 ...
 - (转)MySQL 插入数据时,中文乱码问题的解决
		
MySQL 插入数据时,中文乱码问题的解决 原文:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当向 MySQL 数据库插 ...
 - oracle 使用occi方式插入数据时中文乱码
		
这个是由于数据库的编码格式和我们输入的编码格式不一致导致的. 我们使用c++插入数据时数据库的中文显示??(即乱码),但同样的数据使用navicat进行插入却显示正常. 因此,问题并不是处在服务器端的 ...
 - PLSQL插入数据中文乱码的问题
		
PLSQL插入数据中文乱码的问题 中文乱码就是编码不统一所导致的了,解决办法只需要把编码统一下即可解决了. 具体操作步骤如下: 1.查看服务器端编码 select userenv('language' ...
 - Spring MVC3返回JSON数据中文乱码问题解决(转)
		
Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...
 - 【JDBC】向数据表插入数据时,自动获取生成的主键
		
数据表设计时,一般都会有一个主键(Key)(自己指定),有时也可以使用联合主键: 有许多数据库提供了隐藏列为表中的每行记录分配一个唯一键值(如:rowid): 当我们没有指定哪一列作为主键key时,数 ...
 - 触发器修改后保存之前的数据 表中插入数据时ID自动增长
		
create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...
 
随机推荐
- ExecuteExcel4Macro (宏函数)使用说明
			
用ExecuteExcel4Macro从未打开的Excel工作簿中读取数据(转载) 从另外一个未打开的Excel文件中读取数据的函数 下面这个函数调用XLM宏从未打开的工作簿中读取数据. *注意: ...
 - JDBC事务(一)
			
package cn.sasa.tran01; import java.sql.Connection; import java.sql.DriverManager; import java.sql.P ...
 - Centos配置tomcat服务并且开机自启动
			
把要配置成服务的tomcat文件夹中的catalina.sh脚本文件拷一份到/etc/init.d目录,并且改文件名称为tomcat6 cp /usr/web/tomcat/tomcat-/bin/c ...
 - rosetta geometric constraint file(用于match和design)
			
cst(constraint file)文件示例: CST::BEGIN TEMPLATE:: ATOM_MAP: atom_name: C6 O4 O2 TEMPLATE:: ATOM_MAP: r ...
 - python使用grpc调用rpc接口
			
proto文件: syntax = "proto3"; package coupon; // //message UnsetUseC2URequest { // int64 bid ...
 - 使用intellJ导入非maven,gradle等非构建工程的依赖,发布工程时候的打包详解
			
一.导入 1.java项目在没有导入该jar包之前,如图: 2.点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Proje ...
 - [转载]资深程序员点评当前某些对Lotus Domino 的不实评论
			
实现机关办公自动化工作需要计算机技术的支持,在计算机软件范围中,有网络操作系统软件.数据库软件和开发工具等基本系统软件,在此基础上开发出适合本单位使用的应用软件.对如何选用系统软件,笔者没有发言权,但 ...
 - Flask最强攻略 - 跟DragonFire学Flask - 第十六篇 Flask-Migrate
			
终于到了Flask-Migrate,之前在学习Flask-SQLAlchemy的时候,有的同学就提过类似的问题,Flask支持 makemigration / migrate 吗? 答案在这里该诉你, ...
 - 实现Runnable接口创建多线程及其优势
			
实现Runnable接口创建多线程: 创建一个Runnable接口的实现类RunnableImpl: 主线程中: 其中,链式编程的Thread类的静态方法currentThread方法点getName ...
 - flask 定义数据库关系(一对一)
			
一对一 我们将使用国家和首都来演示一对一关系:每个国家只有一个首都.反过来,一个城市也只能作为一个国家的首都.一对一关系如下: 在示例程序中,Country类表示国家,Capital类表示首都.建立一 ...