meta で charset をちゃんと指定しているのに勝手に西ヨーロッパ言語が選択される
HTMLを作った時になぜか
<meta http-equiv="content-type" content="text/html; charset=EUC-JP" />
とか、ちゃんと指定しているのに文字化けてしまう!!
しかも西ヨーロッパ言語が選択されてる?
なんで?
なんてことありませんか?
たまたま社内の人間がこのトラップで悩んでいたので書き残しておきます。
HTML等において <body> 宣言の後の <head> タグの中というのはこのファイルが一体何のファイルでどのような規則にのっとるものなのかを宣言しています。
ですのでもしもこの前に、たとえばJavaScript等の記述があったり、また特にその中で日本語文字列が利用されていた場合に今回の問題は発生しえます。
また、少々わかりにくいかもしれませんがこの <head> 内は上から順番に読み込まれます。
ですのでもしも charset の指定の前に日本語を用いた文字列が例えば <title> タグに内在した場合にやはり文字化けてしまいます。
ex.)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-script-type" content="text/javascript" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="ROBOTS" content="ALL" />
<meta name="keywords" content="紫夜" />
<title>紫夜のphpを今日から始めよう!</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
な、わけですのでもしも勝手に西ヨーロッパ言語とかが選択されてしまった場合は上記の内容を疑ってみてください~。
<meta http-equiv="content-type" content="text/html; charset=EUC-JP" />
とか、ちゃんと指定しているのに文字化けてしまう!!
しかも西ヨーロッパ言語が選択されてる?
なんで?
なんてことありませんか?
たまたま社内の人間がこのトラップで悩んでいたので書き残しておきます。
HTML等において <body> 宣言の後の <head> タグの中というのはこのファイルが一体何のファイルでどのような規則にのっとるものなのかを宣言しています。
ですのでもしもこの前に、たとえばJavaScript等の記述があったり、また特にその中で日本語文字列が利用されていた場合に今回の問題は発生しえます。
また、少々わかりにくいかもしれませんがこの <head> 内は上から順番に読み込まれます。
ですのでもしも charset の指定の前に日本語を用いた文字列が例えば <title> タグに内在した場合にやはり文字化けてしまいます。
ex.)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-script-type" content="text/javascript" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="ROBOTS" content="ALL" />
<meta name="keywords" content="紫夜" />
<title>紫夜のphpを今日から始めよう!</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
な、わけですのでもしも勝手に西ヨーロッパ言語とかが選択されてしまった場合は上記の内容を疑ってみてください~。