在任意字符集下正常顯示網頁的方法

2021-04-12 20:21:42 字數 1387 閱讀 4131

通常情況下,我們的網頁要指定乙個編碼字符集,如 gb2312、utf-8、iso-8859-1 等,這樣我們就可以在網頁上顯示我們指定編碼的文字了。但是我們很可能會遇到這種情況,那就是我們可能希望在 iso-8859-1 編碼的網頁上顯示漢字,或者在 gb2312 編碼的網頁上顯示韓文等。當然一種解決辦法就是我們不用 iso-8859-1 或者 gb2312 編碼,而統統都採用 utf-8 編碼,這樣我們只要在這種編碼下,就可以混合顯示各國文字了,這是現在很多**採用的方法。

而我這裡所說的並非上面這種方法,因為上面這種方法必須要指定字符集為 utf-8 才可以,一旦使用者手工指定為其他字符集,或者可能因為某些原因,那個字符集設定沒起作用,而瀏覽器又沒有正確自動識別的話,我們看到的網頁還是亂碼,尤其是在某些用框架作的網頁中,某個框架中的頁面如果字符集設定沒起作用,在 firefox 中顯示亂碼而且還沒法改變(我是說在不裝rightencode外掛程式的情況下)。

而我這裡介紹的方法即使是把網頁指定為 iso-8859-1 字符集,也能夠正確顯示漢字、日文等。原理很簡單,就是把除了 iso-8859-1 編碼中前128個字元以外的所有其他的編碼都用 ncr(numeric character reference) 來表示。比如「漢字」這兩個字,如果我們寫成「漢字」這種形式,那麼它在任意字符集下都可以正確顯示。根據這個原理,我寫了下面這個程式,它可以把現有的網頁轉化為在任意字符集下都能顯示的網頁。你只需要指定源網頁的字符集和源網頁,點提交按鈕,就可以得到目標網頁了。你也可以只轉化某些文字,只需要把文字填寫到文字框中,並指定這些文字原來的字符集,點提交按鈕,就會在頁面上面顯示編碼後的文字了。另外我還編寫了 wordpress 的外掛程式,現在我的 blog 已經可以在任意字符集下都能正確顯示了。

<

?php

function

nochaoscode

($encode

,$str

,$isemail

=false))

*256

+ord

($str);

if($code

<

128and

!$isemail

)elseif(

$code

!=65279)}

return

$output;}

$encode

=$_post

['encode'];

if($encode

==''

)$encode

='utf-8';if

($_files

['file'][

'size'

]>0)

else

else

?>

<

?php

}?>

任意字符集下正常顯示網頁

通常情況下,我們的網頁要指定乙個編碼字符集,如 gb2312 utf 8 iso 8859 1 等,這樣我們就可以在網頁上顯示我們指定編碼的文字了。但是我們很可能會碰到這種情況,那就是我們可能盼看在 iso 8859 1 編碼的網頁上顯示漢字,或者在 gb2312 編碼的網頁上顯示韓文等。當然一種解...

ORACLE漢字顯示的字符集問題

在國內外大中型資料庫管理系統中,把oracle作為資料庫管理平台的使用者比較多。oracle 不論是資料庫管理能力還是安全性都是無可非議的,但是,它在漢字資訊的顯示方面著實給中國使用者帶來不少麻煩,筆者多年從事oracle資料庫管理,經常收到周圍使用者和外地使用者反映有關oracle資料庫漢字顯示問...

影響ORACLE漢字顯示的字符集

在國內外大中型資料庫管理系統中,把oracle作為資料庫管理平台的使用者比較多。oracle 不論是資料庫管理能力還是安全性都是無可非議的,但是,它在漢字資訊的顯示方面著實給中國使用者帶來不少麻煩,筆者多年從事oracle資料庫管理,經常收到周圍使用者和外地使用者反映有關oracle資料庫漢字顯示問...