close
昨天有一個頁面出現錯誤訊息:「An error occurred translating the query string to UTF-16: 在多位元組的目的字碼頁中,沒有這個 Unicode 字元可以對應到的字元。」
確認了內容,是因為 SQL 語法裡有中文,該 PHP 檔案是 ANSI (Big5) 編碼,程式裡沒有指定語系。
在這個情境下,處理方法有兩種:
【第一種:將要執行的 SQL 轉換至與資料庫一致的編碼】
因為 PHP 檔案是 ANSI 格式存檔的,所以在 PDO 語法執行時 (PDO::prepare),把該句 SQL 用 mb_convert_encoding() 轉編碼,轉換為 UTF-8:
mb_convert_encoding($sql, "utf-8", "big5");
【第二種:將程式頁面另存為與資料庫一致的編碼】
將 PHP 檔案改以 UTF-8 存檔,原本該頁面需要印出 Big5,在印出前再予以轉換。
打完收工。
文章標籤
全站熱搜
留言列表