Baccho Log

No Image

Sponsored Link

[MySQL, Codeigniter]DBに絵文字が文字化けしないようにする

  • 投稿日:
Tags:
Codeigniter MySQL
Categories:
プログラミング

MySQL側の設定

-- 既に作成済みのデータベースを「utf8mb4」対応する
ALTER DATABASE データベース名 DEFAULT CHARACTER SET utf8mb4;

-- 既に作成済みのテーブルを「utf8mb4」対応する
ALTER TABLE テーブル名 DEFAULT CHARACTER SET utf8mb4;

-- 既に作成済みのカラムを「utf8mb4」対応する
ALTER TABLE テーブル名 MODIFY カラム名 型 CHARACTER SET utf8mb4 NOT NULL;

■参考
https://alaki.co.jp/blog/?p=1814

Codeigniter側の設定

Config/database.php

ポイントは、
char_set の文字コードを utf8mb4 に変更すること
MySQL上の文字コードだけを変更してもここを変更しないと文字化ける

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'hostname',
    'username' => 'user_name',
    'password' => 'password',
    'database' => 'db_name',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8mb4',
    'dbcollat' => 'utf8mb4_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);
« [PHP, MySQL]画像をDBに直接保存する方法[MySQL]JOINするTableで絞り込み »

Sponsored Link

コメントする

記事の感想や修正依頼等ありましたら、コメントをお願いいたします