都有哪些地方的編碼方式需要注意?

來源:互聯網
上載者:User
接觸這麼長時間的網頁設計,已經碰到了非常多的和編碼方式有關的東西了。但是今天又遇到了了一次亂碼,還好搜一下就解決了。
以下是我知道的需要注意編碼方式的地方:
1.
(通知瀏覽器本頁面的解碼方式)
2.
文檔儲存時的編碼方式
3.
資料庫的編碼方式(在定義資料庫或者表的時候設定)
4.
SQL語句的編碼方式(使用“SET NAMES UTF8”設定)

其中最後一個的編碼方式是由什麼決定的?在這種情況下:
一個靜態頁面通過文本資料框資料一個資料,通過get方法傳輸到另一個php頁面,這個php頁面將這個資料放到一條插入語句中,並執行這條SQL語句。
此時這條查詢語句的編碼方式是由什麼決定的?是靜態頁面的編碼方式還是動態網頁面的編碼方式還是其他的東西?反正我全都設定成UTF-8了,成功插入了,沒有亂碼。但是問題是每次插入都要使用“SET NAMES UTF8”設定,怎麼才能把UTF8設定成SQL語句的預設編碼方式?

另外還有那些地方需要注意編碼方式?


回複討論(解決方案)

所有的“編碼方式”都以輸出的頁面為基準

mysql具有自適應“編碼”的功能(其他資料庫不清楚),即你讓他返回什麼編碼他就返回什麼編碼

原則是:幾乎每一次IO就要考慮編碼問題
載入php本身就是一次,因為系統/web server和php本身就是兩個編碼
php輸出,用戶端系統/瀏覽器和輸出的字元是兩個編碼
讀寫檔案、讀寫資料庫,include……等等

再提幾個容易忽略的
cookies,這個幾率不大,但也要留意
session,我沒測試兩個不同編碼的php共同使用一個session的情況,你試試
發送接收,例如curl、socket和API
和其他語言互動
……

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.