私の知識では、ちとお手上げなので質問させて
ください。
MariaDB 10.1.25
で既存のDB
をutf8
からutf8mb4
に変更
してphp(FuelPHP)
から、絵文字をテーブルに挿入しましたが
絵文字は、?の1文字
になってしまいます。
DB
内では、既存のテーブルとカラムは、utf8
の設定のまま
になっており対象のテーブルとカラムのみひとまずutf8mb4
にしております。
何とか、解決方法もしくはヒント頂ける方がいらっしゃい
ましたらよろしくお願い致します。
入力
マグロ????スシ
DB登録
マグロ?スシ
環境と設定は、以下の通りです。
XAMPP for Linux 7.0.21
MariaDB 10.1.25
PHP 7.0.21
/opt/lampp/etc/my.cnf
[client]
default-character-set = utf8mb4 ------追加
[mysqld]
character-set-server = utf8mb4--------追加
show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /opt/lampp/share/charsets/ | +--------------------------+----------------------------+
FuelPHPの接続設定
db.php <?php return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=localhost;dbname=xxxxxx;', 'hostname' => 'localhost', 'port' => '3306', 'database' => 'xxxxxx', 'username' => 'user', 'password' => 'yyyyy', ), 'charset' => 'utf8mb4', 'profiling' => true, ), );
MariaDB [(none)]> show create database xxxxx; +-------------+-------------------------------------------------------------------------+ | Database | Create Database | +-------------+-------------------------------------------------------------------------+ | some_db | CREATE DATABASE `xxxxx` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ | +-------------+-------------------------------------------------------------------------+
CREATE TABLE `xxx_table` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `some_colum` varchar(255) DEFAULT NULL, ・・・省略 `created_at` datetime NOT NULL, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 |
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/10 17:16
退会済みユーザー
2017/09/10 22:37