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" />
な、わけですのでもしも勝手に西ヨーロッパ言語とかが選択されてしまった場合は上記の内容を疑ってみてください~。
ノートパソコン復帰ッ!!! ~XAMPP導入編
やりました~!
知り合いのちょっと詳しい人に起動しなくなっていたノートパソコンを直してもらいました><
まぁ、PCG-GR5E/BPっていうちょっと古いモデルなのでおっきくて重いんですが。
でもでもないよりは!!
全然違いますぜ、親分。
ということで早速セットアップですよ!
なんと一通りの設定を終えてくれていたので大助かりです!
と、いうわけで今回はノートパソコンのセットアップ奮闘記で(笑
でわでわ早速。
まずはちょっとでも動作がはやくなるおまじないということで
デスクトップ右クリック⇒デザイン⇒効果
と進めて出てきたウィンドウにあるチェックを全部はずしちゃいます!
ウィンドウの動きとかが凄い簡素化されるんですが気分的(?)に軽くなりますよね。
多分実際もちょっと軽くなってるのかな。
で、次に
ウィンドウズメニュー⇒設定⇒コントロールパネル⇒フォルダオプション
を選択してこれは完全に個人の趣味なのですがクリック方法をシングルクリックにしてポイントしたときにのみ下線を付けるを選択。
個人的にはこれでクリックの苦労が減ります?(ぉ
で、次に同じフォルダオプションの表示タブを選択。
ここはいっぱいですね!
まずはシステムフォルダの内容を表示にチェックして、タイトルバーにファイルのパス名を表示も選択。
あとは全てのファイルとフォルダを表示を選択して縮小版をキャッシュしないを選択。
最後に登録されている拡張子は表示しないのチェックを外す。
で、設定の最後はコントロールパネルのマウス項目からポインタの影を有効にするについてるチェックを外します。
よしっと。
とりあえず基本的な設定はこんな感じかなっと。
次はソフトのインストールですね♪
まずIEとか重くてあれなのでFireFoxをインスト。
もちろん拡張機能としてWeb Developer Tool1.1.4 を忘れずに。
で、Web制作がしたいのでDreamWeaverを入れて、後一応TeraPadを補助用で。
あと~は、クリック回数を減らすため(笑)コマンドランチャのBlueWindを導入。
http://cspace.s2.xrea.com/software/bluewind/
とりあえずこれで最低限の環境が整ったかな。
順調順調♪
さて、今回は目下勉強中のPHPもやりたいのでいっそサーバにアップしなくてもチェックとかをいろいろ出来てしまう環境にしたいです!
ので、XAMPP を導入デス!!
(ちなみにXAMPPはWebの開発を容易にしてくれるあれです、Apache、MySQL、PHP、Perlとかをサクッと導入してくれるパッケージです。)
インストールはとりあえずさっくりダウンロードして、実行ファイルをキック。
言語設定はもちろん日本語で、ディレクトリ指定はまぁ設定を変えてなんかあった時に対応できない(不勉強だから)のでデフォルトで入っている[C:\/xampp]のままで。
で、なんかいろいろかいてあるオプション項目の設定画面は確かあとから変えられるはずなのでこれも放置!!
さて、なんのかんのでインストールが終わってXAMPPコントロールパネルが表示されました。
では早速MySqlとApacheを起動っと。
って、エラーが出てApacheの起動ができない・・・orz
「0xc0150002 アプリケーションを正しく初期化できませんでした 」
どうやら調べてみるとマイクロソフトのなんかたりんらしいです。
と、いうわけでダウンロード !
一度XAMPPを落としてインストール、でもう一度起動してからApacheを開始!
よ~し、うまくいった・・・。(大汗
さて、今回は最近知ったcakePHPも使いたいのでURLの書き換え機能、”mod_rewrite”を有効に。
C:\xampp\apache\conf
から
#LoadModule rewrite_module modules/mod_rewrite.so
の先頭にある#を削除してApacheを再起動と。
これでよし。
以上で環境は整った感じでしょうか。
まずは!
さ~、作るぞ~、です!
知り合いのちょっと詳しい人に起動しなくなっていたノートパソコンを直してもらいました><
まぁ、PCG-GR5E/BPっていうちょっと古いモデルなのでおっきくて重いんですが。
でもでもないよりは!!
全然違いますぜ、親分。
ということで早速セットアップですよ!
なんと一通りの設定を終えてくれていたので大助かりです!
と、いうわけで今回はノートパソコンのセットアップ奮闘記で(笑
でわでわ早速。
まずはちょっとでも動作がはやくなるおまじないということで
デスクトップ右クリック⇒デザイン⇒効果
と進めて出てきたウィンドウにあるチェックを全部はずしちゃいます!
ウィンドウの動きとかが凄い簡素化されるんですが気分的(?)に軽くなりますよね。
多分実際もちょっと軽くなってるのかな。
で、次に
ウィンドウズメニュー⇒設定⇒コントロールパネル⇒フォルダオプション
を選択してこれは完全に個人の趣味なのですがクリック方法をシングルクリックにしてポイントしたときにのみ下線を付けるを選択。
個人的にはこれでクリックの苦労が減ります?(ぉ
で、次に同じフォルダオプションの表示タブを選択。
ここはいっぱいですね!
まずはシステムフォルダの内容を表示にチェックして、タイトルバーにファイルのパス名を表示も選択。
あとは全てのファイルとフォルダを表示を選択して縮小版をキャッシュしないを選択。
最後に登録されている拡張子は表示しないのチェックを外す。
で、設定の最後はコントロールパネルのマウス項目からポインタの影を有効にするについてるチェックを外します。
よしっと。
とりあえず基本的な設定はこんな感じかなっと。
次はソフトのインストールですね♪
まずIEとか重くてあれなのでFireFoxをインスト。
もちろん拡張機能としてWeb Developer Tool1.1.4 を忘れずに。
で、Web制作がしたいのでDreamWeaverを入れて、後一応TeraPadを補助用で。
あと~は、クリック回数を減らすため(笑)コマンドランチャのBlueWindを導入。
http://cspace.s2.xrea.com/software/bluewind/
とりあえずこれで最低限の環境が整ったかな。
順調順調♪
さて、今回は目下勉強中のPHPもやりたいのでいっそサーバにアップしなくてもチェックとかをいろいろ出来てしまう環境にしたいです!
ので、XAMPP を導入デス!!
(ちなみにXAMPPはWebの開発を容易にしてくれるあれです、Apache、MySQL、PHP、Perlとかをサクッと導入してくれるパッケージです。)
インストールはとりあえずさっくりダウンロードして、実行ファイルをキック。
言語設定はもちろん日本語で、ディレクトリ指定はまぁ設定を変えてなんかあった時に対応できない(不勉強だから)のでデフォルトで入っている[C:\/xampp]のままで。
で、なんかいろいろかいてあるオプション項目の設定画面は確かあとから変えられるはずなのでこれも放置!!
さて、なんのかんのでインストールが終わってXAMPPコントロールパネルが表示されました。
では早速MySqlとApacheを起動っと。
って、エラーが出てApacheの起動ができない・・・orz
「0xc0150002 アプリケーションを正しく初期化できませんでした 」
どうやら調べてみるとマイクロソフトのなんかたりんらしいです。
と、いうわけでダウンロード !
一度XAMPPを落としてインストール、でもう一度起動してからApacheを開始!
よ~し、うまくいった・・・。(大汗
さて、今回は最近知ったcakePHPも使いたいのでURLの書き換え機能、”mod_rewrite”を有効に。
C:\xampp\apache\conf
から
#LoadModule rewrite_module modules/mod_rewrite.so
の先頭にある#を削除してApacheを再起動と。
これでよし。
以上で環境は整った感じでしょうか。
まずは!
さ~、作るぞ~、です!
キャノネットサーバで”mb_sendmail”が使えない・・・・
キャノネットサーバ!!
存在を実は初めて知りました。。。
phpは4.4.4が動いていて但しCGIで、っていう感じですか?
詳細はこんな感じのところで。
http://www.canonet.ne.jp/service/hosting.html
さて。
いつもの如く例の如く。
お問合わせフォームを作成しまして。。。
まぁはっきりいってソースコードはHTML側と分離したのを作ってるのでほぼ使いまわ~し。
という感じだったので油断を。
してましたよ。
もうね、流れ作業でデザイン乗せてサーバにPUTしてさぁいざメール送信テスト~。
ぽちっとな。
・・・。
メールこない。
みたいなね。
しょんぼりです。
で、調べてみるとphpinfoで表示したときに
sendmail_path
の引数がどうも何もついてない。。。
んです。
え゛、そんな?
ので、対処方法。
mb_sendmail()
の第五引数に” -t ”を指定します。
これでOK。
あんまりmail関数の第五引数とか使ってなかったので再復習ですです。
パラメータは” -f ”もあって、その場合
mb_send_mail(mailto, subject, mailbody, headers,'-t -fmailadd');
と記載するようです。
ち、なみに。
Warning: mb_send_mail() [function.mb-send-mail]: SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in …
という訳で” セーフモード ”でphpが動作しているサーバ環境では” _sendmail ”関数の第五引数が使えないみたいです!
ので要注意。
まぁ、” _sendmail ” 関数の第五引数を削除してしまえばいい・・・?
とかとかでス。
存在を実は初めて知りました。。。
phpは4.4.4が動いていて但しCGIで、っていう感じですか?
詳細はこんな感じのところで。
http://www.canonet.ne.jp/service/hosting.html
さて。
いつもの如く例の如く。
お問合わせフォームを作成しまして。。。
まぁはっきりいってソースコードはHTML側と分離したのを作ってるのでほぼ使いまわ~し。
という感じだったので油断を。
してましたよ。
もうね、流れ作業でデザイン乗せてサーバにPUTしてさぁいざメール送信テスト~。
ぽちっとな。
・・・。
メールこない。
みたいなね。
しょんぼりです。
で、調べてみるとphpinfoで表示したときに
sendmail_path
の引数がどうも何もついてない。。。
んです。
え゛、そんな?
ので、対処方法。
mb_sendmail()
の第五引数に” -t ”を指定します。
これでOK。
あんまりmail関数の第五引数とか使ってなかったので再復習ですです。
パラメータは” -f ”もあって、その場合
mb_send_mail(mailto, subject, mailbody, headers,'-t -fmailadd');
と記載するようです。
ち、なみに。
Warning: mb_send_mail() [function.mb-send-mail]: SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in …
という訳で” セーフモード ”でphpが動作しているサーバ環境では” _sendmail ”関数の第五引数が使えないみたいです!
ので要注意。
まぁ、” _sendmail ” 関数の第五引数を削除してしまえばいい・・・?
とかとかでス。