作者 主題: 關於"content-type" 的問題..  (閱讀 10101 次)

0 會員 與 1 訪客 正在閱讀本文。

allnewlinux

  • 俺是博士!
  • *****
  • 文章數: 1455
    • 檢視個人資料
關於"content-type" 的問題..
« 於: 2006-06-16 12:18 »
Dear 各位大大..

<meta http-equiv="content-type" content="text/html; charset=UTF-8">



<meta http-equiv='content-type' content="text/html; charset=UTF-8">

是否一樣 ?

'content-type' 會有問題嗎 ?

zzlong

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
    • 香港 PHP 用家社區
關於"content-type" 的問題..
« 回覆 #1 於: 2006-06-17 09:25 »
是。

沒有。

allnewlinux

  • 俺是博士!
  • *****
  • 文章數: 1455
    • 檢視個人資料
關於"content-type" 的問題..
« 回覆 #2 於: 2006-06-17 09:44 »
引述: "zzlong"
是。

沒有。


可是幾乎所有的入口網站都是
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

另外請問一下~

今天我寫一隻程式要從資料庫抓資料做成1個html檔~資料庫是UTF-8
如果抓資料的資料塞進 html 的某些欄位~但卻變成亂碼(中文變亂碼)...
這應該是程式沒抓好或是塞的的時候沒弄好編碼嗎 ?

PS這跟Server OS的語系/編碼無關吧

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
關於"content-type" 的問題..
« 回覆 #3 於: 2006-06-17 09:56 »
引述: "allnewlinux"
今天我寫一隻程式要從資料庫抓資料做成1個html檔~資料庫是UTF-8
如果抓資料的資料塞進 html 的某些欄位~但卻變成亂碼(中文變亂碼)...
這應該是程式沒抓好或是塞的的時候沒弄好編碼嗎 ?

PS這跟Server OS的語系/編碼無關吧


您可以先在瀏覽器上選擇語系編碼,
試看看選擇哪一種語系時可以秀出正常的中文字...  :roll:

zzlong

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
    • 香港 PHP 用家社區
關於"content-type" 的問題..
« 回覆 #4 於: 2006-06-17 11:06 »
引述: "allnewlinux"
引述: "zzlong"
是。

沒有。


可是幾乎所有的入口網站都是
<meta http-equiv="content-type" content="text/html; charset=UTF-8">


單引號和雙引號都符合 XML 1.0 的標準,使用哪一種引號大部分情況下是風格問題,跟語法無關,使用的時候當然要首尾呼應,

引述: "allnewlinux"
另外請問一下~

今天我寫一隻程式要從資料庫抓資料做成1個html檔~資料庫是UTF-8
如果抓資料的資料塞進 html 的某些欄位~但卻變成亂碼(中文變亂碼)...
這應該是程式沒抓好或是塞的的時候沒弄好編碼嗎 ?

PS這跟Server OS的語系/編碼無關吧

一般來說有兩個方法告訴瀏覽器文件的編碼:
  • HTTP Header: 這個可以用 PHP 的 header() 函數設定,例如 header("Content-Type: text/html;charset=utf-8"); 若果 PHP 沒有指定編碼,例如 header("Content-Type: text/html"),伺服器可能會自行送出預設的編碼,這個未必是你想要的,所以優秀的工程師一定在所有文件呼叫 header 確保送出正確的編碼。通常這裡設定的編碼比下一個方法有較高的優先權。

  • Document Head: 這個可以在 HTML 文件的 Head 區域內設定,即是你用的方法。

allnewlinux

  • 俺是博士!
  • *****
  • 文章數: 1455
    • 檢視個人資料
關於"content-type" 的問題..
« 回覆 #5 於: 2006-06-17 20:35 »
所以~

我只要在程式例如Java設定從UTF-8的Oracle資料庫抓資料去產生html檔時~

設定
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

這樣產生的html檔的中文內容就不會是亂碼了 ?

假如我是設定
<meta http-equiv="content-type" content="text/html; charset=big5">

這樣產生的html檔的中文會變亂碼囉 ?

zzlong

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
    • 香港 PHP 用家社區
關於"content-type" 的問題..
« 回覆 #6 於: 2006-06-18 15:41 »
引述: "allnewlinux"
所以~

我只要在程式例如Java設定從UTF-8的Oracle資料庫抓資料去產生html檔時~

設定
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

這樣產生的html檔的中文內容就不會是亂碼了 ?

假如我是設定
<meta http-equiv="content-type" content="text/html; charset=big5">

這樣產生的html檔的中文會變亂碼囉 ?

不是剛剛說過 document header 的優先程度比 http header 低嗎?只設定 document header 未必有用。

此外,你也要告訴 Java 輸出的字元編碼是 utf-8,而不是預設的 Unicode。

有了以上兩項設定,Document header 是否有設定也無傷大雅了。

allnewlinux

  • 俺是博士!
  • *****
  • 文章數: 1455
    • 檢視個人資料
關於"content-type" 的問題..
« 回覆 #7 於: 2006-06-18 19:53 »
引述: "zzlong"
引述: "allnewlinux"
所以~

我只要在程式例如Java設定從UTF-8的Oracle資料庫抓資料去產生html檔時~

設定
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

這樣產生的html檔的中文內容就不會是亂碼了 ?

假如我是設定
<meta http-equiv="content-type" content="text/html; charset=big5">

這樣產生的html檔的中文會變亂碼囉 ?

不是剛剛說過 document header 的優先程度比 http header 低嗎?只設定 document header 未必有用。

此外,你也要告訴 Java 輸出的字元編碼是 utf-8,而不是預設的 Unicode。

有了以上兩項設定,Document header 是否有設定也無傷大雅了。



所以設定要輸出使用啥編碼是從Java程式去設定~和Server OS支不支援無關~