安装mysql8.0之后,尝试使用php连接mysql,总是报PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers错误,网上找了很多资料,然而都没有多大用处。

查找了mysql官方说明文档才知道原来M8.0已经已经把默认字符集升级成ut8mb4了,于是找到my.cnf文件,修改如下:

 1 [client]
2 port = 3306
3 socket = /tmp/mysql.sock
4 default-character-set = utf8
5
6 [mysql]
7 prompt="MySQL [\d]> "
8 no-auto-rehash
9 default-character-set = utf8
10
11 [mysqld]
12 port = 3306
13 socket = /tmp/mysql.sock
14 default_authentication_plugin = mysql_native_password
15 collation-server = utf8_unicode_ci
16
17 basedir = /usr/local/mysql
18 datadir = /data/mysql
19 pid-file = /data/mysql/mysql.pid
20 user = mysql
2 bind-address = 0.0.0.0
22 server-id = 1
23
24 init-connect = 'SET NAMES utf8'
25 character-set-server = utf8

然后使用PDO连接mysql

$db = array(
'host' => 'your host', //设置服务器地址
'port' => '3306', //设端口
'dbname' => 'your db name', //设置数据库名
'username' => 'your name', //设置账号
'password' => 'your pwd', //设置密码
'charset' => 'utf8', //设置编码格式
'dsn' => 'mysql:host=your host;dbname=your db name;port=3306;charset=utf8',
); //连接
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,     //默认是PDO::ERRMODE_SILENT, 0, (忽略错误模式)
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认是PDO::FETCH_BOTH, 4
); try{
$pdo = new PDO($db['dsn'], $db['username'], $db['password'], $options);
var_dump($pdo);
}catch(PDOException $e){
die('数据库连接失败:' . $e->getMessage());
}

结果如下:

object(PDO)#1 (0) { }

最新文章

  1. Java 之 I/O流
  2. python 3次登录
  3. tomcat架构之-----基本概念
  4. Android --日期控件使用并显示选择的日期
  5. Android系统版本与API Level对照表
  6. 【JavaScript】apply和call的区别在哪?
  7. Flexigrid自定义显示数据列
  8. [转]Delphi 快捷键 让你更像高手!!
  9. Android doGet方法
  10. poj 3501 Escape from Enemy Territory 预处理+二分+bfs
  11. hibernate--session的CRUD方法, delete, load,get,update,saveorupdate, clear, flush
  12. BZOJ 3924: [Zjoi2015]幻想乡战略游戏(动态点分治)
  13. MySQL 索引管理与执行计划
  14. ef和mysql使用(一)
  15. leetcode-数组-子集
  16. svn 回滚文件修改
  17. node-webkit学习(4)Native UI API 之window
  18. 【前端node开发】你需要的Express开发教程
  19. Oracle中对数字加汉字的排序(完好)
  20. Redis学习笔记--Redis配置文件Sentinel.conf参数配置详解

热门文章

  1. Yahoo前端优化的35条军规
  2. sizeof and strlen 的区别
  3. 分布式集群环境下运行Wordcount程序
  4. [Android] java代码无错误,但跳转失败
  5. 第十一节:pandas统计函数
  6. configparser logging
  7. 关于.NET玩爬虫这些事 【初码干货】
  8. hihoCoder#1082 然而沼跃鱼早就看穿了一切
  9. msp430入门学习21
  10. HTTPS 是如何保证安全的?