PHP连接mysql数据库乱码解决办法

测试环境

mysql编码为uft-8
mysql版本为mysql5.X
php版本为php 5.X

解决办法

1.确保HTML代码中声明的charset值等于utf-8,代码如下

 代码如下 复制代码

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

1:确认phpmyadmin用的mysql字符集为utf-8 unicode(utf8);mysql连接校对为utf8_general_ci,language为中文-chinese simplified

2:确认每个数据表的“整理为”utf8_general_ci;

3:在php连接mysql数据库后加个语句来指定数据库的字符集,

例如:

 代码如下 复制代码

$conn=mysql_connect("localhost","root","你的密码"); //连接数据库
mysql_query("set name 'utf8'");

如果上面解决不了我们可如下操作

 代码如下 复制代码

$link = mysql_connect('localhost','root','');
mysql_query("set character_set_connetion=utf8,character_set_result=utf8, character_set_client=binary",$link);

最后找到一个相对比较全面的解决办法

后来找到了解决方案,记录如下:

 代码如下 复制代码

 //尝试创建数据库表

mysql_select_db("courseTable",$con);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");

总结,关于mysql中文乱码我是找到很多的办法但最好发现网上很多解决mysql乱码都掉JB蛋的,真正的只要在查询连接时加上mysql_query("SET NAMES 'utf8'");就可以解决了。

时间: 2024-10-30 13:27:47

PHP连接mysql数据库乱码解决办法的相关文章

6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法

 mysql安装完之后,登陆后发现只有两个数据库:mysql>show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | test               | +--------------------+ ,mysql> use mysql ERROR 1044 (42000): Access denied for user''

数据库 MySQL中文乱码解决办法总结

MySQL中文乱码解决办法 前言: MySQL是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 create table user(name varchar(11)); # 创建user表 insert into table user("carl"); # 添加数据 select * from user; insert into user value(&

MySQL Connector/NET连接mysql数据库乱码

问题描述 用MySQLConnector/NET连接mysql数据库乱码,凡是字段是中文就会乱码,myini文件已修改成default-character-set=gb2312,连接字符串也改成了default-character-set=gb2312,依然是乱码,请大家指教 解决方案 解决方案二:MYSQL是有这个问题的,修改INI文件都可以解决的一般情况,你找找MYSQL类的问题看下.解决方案三:困扰了好几天的问题,没有人懂吗解决方案四:页面,数据库编码都设一致,如果不行话的话,就用转换的看

java连接mysql数据库乱码的解决方法_java

解决方法一: mysql安装时候的编码, 看下my.ini,有无 复制代码 代码如下: [mysql] default-character-set=utf8 [client] default-character-set=utf8 [mysqld] default-character-set=utf8创建表的时候设置: DROP TABLE IF EXISTS `Company`; CREATE TABLE IF NOT EXISTS `Company` ( `Cname` VARCHAR(10)

java连接mysql数据库乱码怎么办

 解决方法一: mysql安装时候的编码, 看下my.ini,有无  [mysql] default-character-set=utf8 [client] default-character-set=utf8 [mysqld] default-character-set=utf8 创建表的时候设置: DROP TABLE IF EXISTS `Company`; CREATE TABLE IF NOT EXISTS `Company` ( `Cname` VARCHAR(10) NOT NUL

java连接mysql数据库乱码的解决方案

解决方法一: mysql安装时候的编码, 看下my.ini,有无 [mysql] default-character-set=utf8 [client] default-character-set=utf8 [mysqld] default-character-set=utf8创建表的时候设置: DROP   TABLE   IF   EXISTS   `Company`; CREATE   TABLE   IF   NOT   EXISTS   `Company` (     `Cname` 

php图片保存入mysql数据库失败解决办法

   代码如下 复制代码 require 'class/db.php'; $fileName = "a1.jpg"; $fp = fopen($fileName, "r"); $img = fread($fp, filesize($fileName)); fclose($fp); $db->execute("insert db2.testimg (`img`) values ('$img') ;"); 报错 You have an erro

不能通过mysql.sock连接MySQL问题的解决办法

    这个问题主要提示是,不能通过'/tmp/mysql.sock'连到服务器,而php标准配置正是用过'/tmp/mysql.sock',但是一些mysql安装方法将mysql.sock放在/var/lib/mysql.sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东: [mysqld] socket=/var/lib/mysql.sock 改一下就好了,但也会引起其他的问题,如mysql程序连不上了,再加一点: [mysql] so

MyEclipse连接MySQL数据库报错解决办法_Mysql

我们现在一般网站都是利用的MySQL数据库搭建网站的,但是在网上看到很多网友吐槽数据库连接不上的问题,现在我就结合相关资料向提出一些我个人的见解,希望对大家解决问题有帮助. 一般MySQL连接不上,可能有两大原因:1.MyEclipse配置错误 2.MySQL配置不当. 一.我们一般的连接步骤如下: 1.在MyEclipse中连接MySQL数据库:依次点击window-->show view-->other-->MyEclipse Database-->DB Browser 图一: