PHP連線SQL資料庫無法顯示emoji表情的解決辦法(變成問號、1366 Incorrect string value)
問題1
當加入emoji表情時,SQL資料庫提示1366 Incorrect string value錯誤:
mysql 1366: Incorrect string value: '\xF0\x9F\xA5\xB0\xF0\x9F for column ‘msg’ at row 1
這是因為emoji表情符號不能直接使用普通的utf-8編碼,而是要採用utf8mb4編碼,在每次連線的時候把編碼設定成utf8mb4才可以解決。
解決步驟:
- 在連線資料庫的php檔案裡,在每次連線前都把編碼都設定為utf8mb4
程式碼:
$conn = new PDO($dsn, $username, $password);
$conn->exec("set charset utf8mb4");
或者:
$conn = new PDO($dsn, $username, $password);
$conn->query("set character set utf8mb4");
問題2
emoji表情被成功加入,但是在資料庫裡面變成了問號,如下圖
這是因為資料庫的編碼仍然是utf8,而不是utf8mb4,解決方法十分簡單粗暴:把資料庫裡面有關字元編碼的專案全部改為utf8mb4,因為utf8mb4是utf8的超集,因此不會有相容性問題,可以放心修改
修改欄位的編碼
修改資料庫的編碼
修改表的編碼
通用修改
相關文章
- 網站顯示無法連線資料庫網站資料庫
- 【BUG記錄】MySQL插入Emoji表情報錯"Incorrect string value"MySql
- 解決無法連線SQL Server資料庫的方法BWSQLServer資料庫
- PHP資料庫連線失敗–couldnotfinddriver解決辦法PHP資料庫
- sqlplus 顯示問號,解決辦法SQL
- php+mysql 解決emoji表情符號問題PHPMySql符號
- windows無法配置此無線連線的解決辦法Windows
- Windows無法配置此無線連線這個問題的解決辦法Windows
- MySQL ERROR 1366(HY000):Incorrect string value:''for column''at row 1解決方案MySqlError
- MySQL 亂碼實戰解決ERROR 1366 (HY000): Incorrect string value: 'MySqlError
- 解決IBM DATA STUDIO無法連線資料庫問題,JDBC驅動不顯示問題。IBM資料庫JDBC
- Mysql伺服器無法存emoji表情的解決方案MySql伺服器
- sql server資料庫連線失敗/無法附加解決過程SQLServer資料庫
- 解決Mysql資料庫插入資料出現問號(?)的解決辦法MySql資料庫
- 使用 localhost 無法連線 MySQL 資料庫的解決方案localhostMySql資料庫
- HGAdmin無法連線本地資料庫解決方式資料庫
- 解決WordPress無法顯示已安裝主題的辦法
- MYSQL++ 資料庫連線超時的解決辦法LTMySql資料庫
- Oracle自動斷開資料庫連線的解決辦法Oracle資料庫
- 網站無法連線資料庫怎麼辦?網站資料庫
- Emoji表情符號錄入MySQL資料庫報錯的解決方案符號MySql資料庫
- Windows無法顯示隱藏資料夾之問題解決Windows
- discuz資料庫搬家,改密碼後無法訪問解決辦法資料庫密碼
- 資料庫變慢了的分析及解決辦法資料庫
- 【YashanDB資料庫】PHP無法透過ODBC連線到資料庫資料庫PHP
- Laradock 下建立 storage:link 軟連線資源無法訪問的解決辦法
- 網路印表機無法連線的原因與解決辦法
- Xamarin中VS無法連線Mac系統的解決辦法Mac
- MySQL複製過程中出現的從庫無法連線主庫的解決辦法MySql
- SourceTreet提交時顯示remote: Incorrect username or password ( access token )(4種解決辦法)REM
- 上網站無法連線資料庫怎麼辦?網站資料庫
- 寶塔皮膚無法遠端連線資料庫的解決方法資料庫
- WAMP無法連線mysql資料庫MySql資料庫
- MMNL absent ,資料庫無法連線資料庫
- php onethink驗證碼不顯示的解決辦法PHP
- link/Extended dependency 無法顯示連線
- 寶塔Linux皮膚FTP無法連線的解決辦法LinuxFTP
- windows7筆記本無法連線無線路由器的解決辦法Windows筆記路由器