Help us understand the problem. What is going on with this article?

phalcon 3.4 でMySQL(MariaDB)を使うときのTips

phalconでMySqlを使う場合、
だけではないと思うけど、Laravelでも同じ現象が報告されている

🚨Laravel 絵文字が通らない問題

SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xF0\x9F\x94\xB5\xE3\x81...'

勝手にDatetimeって判定してる。。。

可能性としては、phalconでもLaravelでもPHPなんで、mysql or mariadbのClientあたりの設定?
と思って調べてみても、my.cnfは、サーバー側、クライアント側共にutf8mb4が指定されている。

エラーメッセージで一瞬混乱してしまって、テーブル定義を疑ってしまうかもしれないのでしっかりとメモを残しておく。
これは絵文字入れたときにutf8に入ってないのでダメですよってことです。
utf8mb4これを指定してあげればOK

一部抜粋。

return new \Phalcon\Config([
    'database' => [
        'adapter' => 'Mysql',
        'charset' => 'utf8mb4',
    ],

しかし、これまでutf8でも絵文字が通ってたんだけどな。

設定からすると、これまではPHP7.2だったのを7.3にしたからかな。厳密にチェックするようになったのかな。
しかし、誤作動というか間違ったエラーメッセージは困りますな。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした