今天小编给大家分享一下php向mysql数据库传入字符串乱码如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
php向mysql数据库传入字符串乱码的解决办法:1、通过“show variables like 'character%';”查看数据库编码方式;2、通过“set character_set_server = 'utf8';”设置编码为utf8即可。
乱码如下:
解决方式
查看数据库编码方式:
//查询
show variables like 'character%';
//设置
set character_set_server = 'utf8';
设置HTML页面编码
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
PHP文件编码设置
//消息头部
header("Content-Type:text/html; charset=utf-8");
//数据库连接方式
$conn = new mysqli($servername,$username,$password,$dbname);
mysqli_set_charset($conn,'UTF8');
//注意,下面这种方式不行!!!
$conn = new mysqli($servername,$username,$password,$dbname);
mysqli_query(“set names utf8”);
相关介绍:
UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部分修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。