應該使用 SET NAMES UTF8 來支援 Unicode?
在受人尊敬的《高效能MySQL》一書中,作者Baron Schwartz 警告不要使用“SET NAMES UTF8”,因為它錯誤地更改了伺服器設置,而不是修改客戶端庫的字符集。這讓依賴此語法來支援 Unicode 的開發人員感到困惑。
Unicode 感知工作流程的最佳實踐
為了確保Unicode 感知資料庫工作流程,考慮以下最佳實踐:
1 .對於PHP,使用mysql_set_charset() / mysqli_set_charset():
這些函數直接設定客戶端連接的字元集,繞過「SET NAMES UTF8」的限制。
2.為 PDO 指定連接參數:
PDO::mysql 支援「charset」參數來指定連接初始化期間的字元集。
3.設定 MySQL 伺服器變數:
為了獲得最佳效能,請在 my.ini/cnf配置中設定以下伺服器變數:
4.關於多個應用程式的注意事項:
請注意,更改這些伺服器變數可能會影響在同一MySQL 實例上執行的需要不同字元集的其他應用程式。
以上是我應該在 MySQL 中使用'SET NAMES UTF8”來支援 Unicode 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!