php 插入到mysql数据库的中文是问号?肿么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 插入到mysql数据库的中文是问号?肿么解决?相关的知识,希望对你有一定的参考价值。

$con=mysql_connect("localhost","root","") /*请修改用户名和密码*/
or die("无法连接数据库,请重新配置...".mysql_error());

mysql_select_db("waterresource_querysystem")
or die("<script>alert('数据表连接错误,请重新配置...')</script>".mysql_error());
//die("无此数据库,请重新配置...");

mysql_query("SET NAMES 'gbk'");/*解决汉字*/

$sql=mysql_query("insert into cross_section_info(cross_section_name,shuichi_num,cross_section_type,calculate_method,coefficient_a,coefficient_b,coefficient_c,coefficient_d,width_W,width_B,coefficient_M,remarks)values('$cross_section_name','$shuichi_num','$cross_section_type','$calculate_method','$coefficient_a','$coefficient_b','$coefficient_c','$coefficient_d','$width_W','$width_B','$coefficient_M','$remarks')");
mysql_close($con);
echo "<script>alert('添加成功!')</script>";

参考技术A 乱码有三种

1:数据库方面不匹配,数据库有字符集的,不知道你mysql用的什么工具,phpadmin?你可以查看一下数据库的编码方式。
2:php代码设置mysql_query("SET NAMES 'gbk'"); 就是这个
3:你页面当前使用的编码方式,IE模式下面,右键-编码方式,或者 <meta http-equiv="content-type" content="text/html; charset=utf-8" />用这个指定
这三个都要统一,不然会出现乱码的!追问

用的是phpmyadmin5.6.12
浏览器是360浏览器。IE右键是 简体中文(GB2312)

追答

那你mysql_query("SET NAMES 'gbk'");设置为gb2312

然后看看数据库的字符集是什么?

用cmd命令:SHOW VARIABLES LIKE 'character%';
如果不一样,就用命令修改一下,也可以直接修改配置文件,去百度一下,全部出来了。

追问

用cmd命令:SHOW VARIABLES LIKE 'character%';

执行不了,找不到show
设置成这个也不行mysql_query("SET NAMES 'gb2312'");

追答

晕,你要到mysql的控制台去输入,或者修改配置文件也可以的
你的mysql安装目录下面有个bin文件,下面有mysql.exe 运行它。

本回答被提问者采纳

Mysql问题解决Jdbc插入中文到数据库中出现 问号?乱码

之所以会出现乱码,就是编码方式不一致导致的

我们应该首先确定

  • IDEA和mysql数据库中的编码方式是否一致
  • 在链接数据时,有没有在url里面加上 characterEncoding=utf8 ,也就是下图这样


在dbUrl配置后面加上

然后基本就没有问题了

更多相关文章点这里哦

【mysql安装问题】mysqld: Can‘t create directory ‘E: oft\\mysql\\mysql-5.7.19-winx64\\data\\‘ 两种解决办法

【Java全栈】Java全套学习路线及项目资料总结【JavaSE+Web基础+MySQL+JavaEE】

以上是关于php 插入到mysql数据库的中文是问号?肿么解决?的主要内容,如果未能解决你的问题,请参考以下文章

PHP插入数据到数据库出中,中文出现乱码~~全是问号

急求:PHP 中文写入数据库中文是问号,怎么解决

Mysql问题解决Jdbc插入中文到数据库中出现 问号?乱码

MySQL插入中文显示问号

php数据库中的中文数据在页面上显示的是问号

部分中文插入mysql数据库变成问号,怎么回事