MySQL 4.1的編碼問題_PHP教程

來源:互聯網
上載者:User
下面要寫的是一篇非常無聊的東西,充斥了大量各式各樣的編碼、轉換、用戶端、伺服器端、串連……呃,我自己都不願意去看它,但想一想,寫下來還是有點意義的,原因有四:

    MySQL 4.1 對多語言的支援有了很大變化 (這導致了問題的出現);
    儘管大部分的地方 (包括個人使用和主機供應商),MySQL 3 仍然佔主導地位;但 MySQL 4.1 是 MySQL 官方推薦的資料庫,已經有主機供應商開始提供並將會越來越多;
    許多 PHP 程式以 MySQL 作為預設的資料庫管理軟體,但它們一般不區分 MySQL 4.1 與 4.1 以下版本的區別,籠統地稱“MySQL 3.xx.xx 以上版本”就滿足安裝需求了;
    因為 latin1 在許多地方 (下邊會詳細描述具體是哪些地方) 作為預設的字元集,成功的蒙蔽了許多 PHP 程式的開發人員和使用者,掩蓋了在中文等語言環境下會出現的問題;

簡單的說,MySQL 自身的變化和使用 MySQL 的 PHP 程式對此忽略,導致了問題的出現和複雜化,而由於大部分使用者使用的是英文,使這種問題不被重視。這裡提到的 PHP 程式,主要就 WordPress 而言。

MySQL 4.1 字元集支援的原理


MySQL 4.1 對於字元集的指定可以細化到一台機器上安裝的 MySQL,其中的一個資料庫,其中的一張表,其中的一欄,應該用什麼字元集。但是,傳統的 Web 程式在建立資料庫和資料表時並沒有使用那麼複雜的配置,它們用的是預設的配置,那麼,預設的配置從何而來呢?

    編譯 MySQL 時,指定了一個預設的字元集,這個字元集是 latin1;
    安裝 MySQL 時,可以在設定檔 (my.ini) 中指定一個預設的的字元集,如果沒指定,這個值繼承自編譯時間指定的;
    啟動 mysqld 時,可以在命令列參數中指定一個預設的的字元集,如果沒指定,這個值繼承自設定檔中的;
    此時

    http://www.bkjia.com/PHPjc/631020.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631020.htmlTechArticle下面要寫的是一篇非常無聊的東西,充斥了大量各式各樣的編碼、轉換、用戶端、伺服器端、串連呃,我自己都不願意去看它,但想一想,...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.