在有「PDO::MYSQL_ATTR_INIT_COMMAND」的 PDO 中「SET CHARACTER SET utf8」是否必要?
在PHP 和MySQL 中,「SET NAMES」 utf8」和「SET CHARACTER SET utf8」通常在使用UTF-8 編碼時使用。但是,當使用PDO 時,「PDO::MYSQL_ATTR_INIT_COMMAND 」參數將我們限制為單一查詢。因此,必須考慮在此上下文中是否需要「SET CHARACTER SET utf8」。
「SET CHARACTER SET utf8」對連線設定的影響
使用" “SET NAMES utf8”之後的“SET CHARACTER SET utf8”會將“character_set_connection”和“collation_connection”重置為資料庫的預設設定(“@@character_set_database”和“@@collat ion_database”)。
區別"SET NAMES" 和"SET CHARACTER SET"
"SET NAMES x" 影響:
"SET CHARACTER SET x"影響:
字元編碼/轉碼過程
MySQL透過多個轉碼步驟處理查詢和結果:
預設資料庫字元集的意義
如果資料庫的預設字元集不是UTF-8,使用「SET CHARACTER SET utf8」可能不會完全啟用UTF-8 支援。資料遺失。變數可以避免每個連線上不必要的SET指令的效能開銷。免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3