關於PHP檔案及編碼的有關問題

來源:互聯網
上載者:User
關於PHP檔案及編碼的問題
1:PHP代碼檔案本身的編碼格式,是GB或者UTF8會影響什麼?
2:PHP代碼檔案中是混雜的,有GB又有UTF8會導致什麼樣的不好結果麼?
3:PHP語言中的字串編碼格式是什麼?(比如C語言就是ASCII,但C#就是UNICODE,不知道PHP是什麼)
4:PHP代碼檔案的編碼格式跟MYSQL的資料庫字元編碼格式不同會導致什麼不好的結果麼?
5:MYSQL本身的編碼格式會影響輸出到頁面上的文字的效果麼?

問題好像有點多了,請大家指教,非常感謝.一定及時結帖給分.

------解決方案--------------------
1:PHP代碼檔案本身的編碼格式,是GB或者UTF8會影響什麼?
只要與 html 語言聲明不衝突,就沒有關係

2:PHP代碼檔案中是混雜的,有GB又有UTF8會導致什麼樣的不好結果麼?
多半會差生“亂碼”,而使你無所適從

3:PHP語言中的字串編碼格式是什麼?(比如C語言就是ASCII,但C#就是UNICODE,不知道PHP是什麼)
由你決定

4:PHP代碼檔案的編碼格式跟MYSQL的資料庫字元編碼格式不同會導致什麼不好的結果麼?
只要通知 mysql 需要什麼編碼的內容,沒有不好的結果

5:MYSQL本身的編碼格式會影響輸出到頁面上的文字的效果麼?
不會

------解決方案--------------------
1.一個人的血型是 O 或者A 會有什麼影響?

2.一個人的血型又是O 又是A 某個時候是正常的 比如可能產生了稀有血液,大多數時候是直接死亡。

3.php你就是造物主 你想怎麼造就怎麼造.

4.不同會讓你戴上1000度的眼鏡也無法看明白那串亂碼到底是什麼... 當然改造一下眼鏡問題也就解決了。

5.資料庫就是你的彈倉,如果你不一哆嗦...那麼他不會發射出來,他會老老實實的獃著,直到....你覺得足夠興奮,你要輸出了.這個時候你才要考慮編碼格式的事情.正確的解決方案就是 在建這個彈倉的時候 先考慮好所有編碼的統一,就萬事具備了。


------解決方案--------------------
程式檔案用什麼編碼無所謂,只要相容ASCII就行。關鍵是資料庫儲存用UTF-8就行
------解決方案--------------------
首先檔案本身的編碼格式要指定,並且項目中要統一。其次就是參數編碼也要指定統一,否則中文會亂碼。與mysql的編碼不一致,要麼設定mysql資料庫的編碼集要麼用php轉碼函數轉碼,否則中文亂碼
------解決方案--------------------
大神來了。(- -#)


原始碼中的字面常量字串的編碼直接受原始碼檔案編碼控制,舉例:

$str = "你好嗎";

1,如果是GBK編碼儲存的這三個漢字,那麼硬碟上實際佔用了6個位元組。
2,如果是UTF8編碼儲存的這三個漢字,那麼硬碟上實際佔用了超過6個位元組。

假如檔案是UTF8儲存的,那麼你希望轉化這個字串為GBK的,並發給瀏覽器。

那麼mb_convert_encoding($str, "utf8", "gbk")就會得到一個gbk編碼的“你好嗎”,而你這個函數的調用的效果就是告訴PHP解譯器:這個字串裡的位元組是UTF8編碼的,你得按照UTF8編碼解釋這一段位元組,並將這三個字元轉化成GBK編碼的6個位元組。

之後echo輸出到瀏覽器,並content type告訴瀏覽器這一段位元組是gbk的,請按照gbk編碼去解釋這6個位元組。
------解決方案--------------------
看了你這邊說的有點暈....
CI的代碼...如果沒有記錯,應該都是英文等...
新浪的開放平台不知道,但是一般情況下,代碼也應該都是英文及符號等....

對於127以下的ascii字元,包括英文及符號,數字, 他們的ascii碼和utf8碼是完全一樣的....
所以可能不存在你說的需要統一的問題


探討

呵呵,樓上的解釋真油菜~

其實現實情況是這樣的,我的一個PHP項目,使用的是CI架構,它的代碼本身是ANSI編碼的,然後我們的項目裡面又調用了新浪的開放平台介面,它提供的介面代碼又是UTF-8的,這該如何是好?難道手動統一一遍?

請大神們救命~謝謝

------解決方案--------------------
怎麼處理?改成統一的編碼
當然你也可以給 php 部分請個翻譯。php 提供了 mb_string 和 iconv 兩個函數組,都可以方便的解決你的問題
------解決方案--------------------
探討

1:PHP代碼檔案本身的編碼格式,是GB或者UTF8會影響什麼?
只要與 html 語言聲明不衝突,就沒有關係

2:PHP代碼檔案中是混雜的,有GB又有UTF8會導致什麼樣的不好結果麼?
多半會差生“亂碼”,而使你無所適從

3:PHP語言中的字串編碼格式是什麼?(比如C語言就是ASCII,但C#就是UNICODE,不知道PHP是什麼)
由你決定

4:PHP代碼檔案的編碼……

------解決方案--------------------
探討
1:PHP代碼檔案本身的編碼格式,是GB或者UTF8會影響什麼?
2:PHP代碼檔案中是混雜的,有GB又有UTF8會導致什麼樣的不好結果麼?
3:PHP語言中的字串編碼格式是什麼?(比如C語言就是ASCII,但C#就是UNICODE,不知道PHP是什麼)

------解決方案--------------------
探討
可是還是碰到一個問題,就是一個項目中,如果有一部分PHP檔案中含了中文字元,比如要echo出一些文本到頁面,然後另一個PHP檔案中也包含了中文,但這個檔案是UTF-8編碼的,在輸出的時候按前面各位講的方法可以控制,但是用IDE編輯代碼的時候就比較痛苦,比如NetBeans,要指定一個項目的編碼格式,如果指定為ANSI,那UTF8那些頁面編輯時就顯示亂碼,如果指定為UTF8那麼有ANSI編碼的那些檔案編輯時就顯示為亂碼,所以很不方便.今天又試了一下VS.PHP,還沒確認是否可能規避這個問題.
  • 聯繫我們

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