要將字元集(例如 utf8mb4)和排序規則與 schema(資料庫)設定對齊
<?php
$mysqli = new mysqli( DB_HOST, DB_USER, DB_PASSWORD, DB_SCHEMA, DB_PORT );
if ( 0 !== $mysqli->connect_errno )
throw new \Exception( $mysqli->connect_error, $mysqli->connect_errno );
if ( TRUE !== $mysqli->set_charset( 'utf8mb4' ) )
throw new \Exception( $mysql->error, $mysqli->errno );
if ( TRUE !== $mysqli->query( 'SET collation_connection = @@collation_database;' ) )
throw new \Exception( $mysql->error, $mysqli->errno );
?>
確認方法
<?php
echo 'character_set_name: ', $mysqli->character_set_name(), '<br />', PHP_EOL;
foreach( $mysqli->query( "SHOW VARIABLES LIKE '%_connection';" )->fetch_all() as $setting )
echo $setting[0], ': ', $setting[1], '<br />', PHP_EOL;
?>
將會輸出類似以下的內容
字元集名稱:utf8mb4
connection 字元集:utf8mb4
校對連線:utf8mb4_unicode_520_ci