網頁中遇到的網頁檔案編碼問題的解決辦法

2021-06-18 06:45:49 字數 812 閱讀 3230

在處理網頁原始檔的時候,經常會遇到網頁原始檔編碼的問題,這些問題在解析標籤的時候倒是沒什麼問題,但是就是在儲存的時候會有亂碼發生。這個資料庫,作業系統的預設編碼有關係,當然罪魁禍首依然是千變萬化的網頁原始檔造成的。

解決這個問題通常的做法是無論是什麼編碼格式, 一律轉化為utf-8,但是事與願違,轉化為utf-8 需要首先知道當前原始檔的編碼,這就麻煩了,因為原始檔裡提供的編碼標籤並不能準確的描述原始檔的編碼,因為大多數瀏覽器並不關心。也就是說

這個標籤並不能讓瀏覽器就按照 gb2312來解析源**,當然ie除外。

這就造成了大量的開發者明明 用utf-8,可是偏偏這裡寫著gb2312 ,當然測試通過了也就不管了。

無奈之下只好先判斷源**是不是utf-8,不是的話則預設認為它是gb2312.

以下是兩個函式

void toutf_8( string & str )

}bool isutf_8(const char* str,long length)

nbytes--;

}} else //多位元組符的非首位元組,應為 10******

nbytes--;

} }if( nbytes > 0 ) //違返規則

if( ballascii ) //如果全部都是ascii, 說明不是utf-8

return true;

}

//注意這裡使用了 boost的loca 庫,需要在使用的時候加上相應的庫目錄和包含目錄

使用如下:

#include int main()

字元編碼和網頁檔案

1 字元編碼是怎麼回事?資訊是抽象的,而用來記錄資訊的資料是具體的。比如你腦子裡有個想法,這個想法就是個抽象的東西。雖然它得得確確是存在的,但如果你不把它表達出來,那它事實上等於沒有。怎麼表達呢?說話或寫字,可以用漢語 英語 日語。在c 中,string就是資訊,抽像的。string本身是沒有編碼的...

C 直接呼叫IE開啟指定的網頁檔案

之前在一級的專案中遇到了乙個問題,就是其他的系統需要用谷歌的瀏覽器作為支援,而我們的系統是需要ie瀏覽器做支援的,另外我們的頁面都是在本地的所以可以由指定瀏覽器開啟,所以有了這個研究,這對於軟體和系統的支援也有很多幫助。一 所需環境 net環境 需要引用system.diagnostics這個命名空...

網頁 php指令碼的編碼問題

對於程式的編碼問題,做一次總結,我們清楚,從物件來說,編碼可能涉及到三到四個物件 一 首先是請求終端 這個請求終端有可能是瀏覽器端,從瀏覽器端發起網頁請求 ajax請求 也有可能是程式內部的api呼叫。a 先看瀏覽器端和web伺服器端的資料互動採用的編碼符合什麼準則 瀏覽器端的輸入分成兩種情況,第一...