悩ましき文字コード問題

今朝、「ママ〜!そろそろ8時になっちゃうよ〜?」とのななちの声でハッと目が覚めた。寝起きの悪い私だが、一瞬で体の全機能が目覚めた。いつかはやってしまうんじゃないかとは思っていたが…やっぱりやってしまったッ!二度寝ってしまったのだ。

「起きてたならのんびりテレビ見てないでもっと早く起こしてよ〜!」
「着替え出てるんだから自分で着替えといてよ〜!!」
と文句を言ってみたものの、悪いのは完全に私の方である。(反省…。)

コーンフレークに牛乳という超簡単な朝ごはんを駆け込ませて、なんとか学校へ送り出す。あと10分遅かったらやばかった。ギリギリセーフだ。
昨日の保育疲れ&その前日に仕事で夜更かししてしまったのが原因だ。

夜の作業は21時から0時までの3時間だけ、と決めているのだが、その日はデータのアップロードがうまくいかずかなり遅くまでかかってしまったのである。
utf-8コードで書いたサイトが、ローカル上では問題なく表示できるのにサーバにアップロードすると、スタイルシートが反映されないのだ。(ちなみに、shift-jisにコードを変換すれば問題はない。)

帰ってきた最終兵器「夫」を召喚し原因を絞り込んで行く。夫や父親としてはガッカリな部分が多々あるが(言ってしまったッ!)、仕事に関しては実に頼もしいし、尊敬できる。(ここで持ち上げておく。)夫婦円満で居続ける方法は私も仕事をすることだと最近本気で思う。

htmlは問題なく表示できてるところをみるとhtmlソースの方は問題ないようだ。スタイルシートも文字化けしていない。ならば、スタイルシートへのパス部分がなんらかの理由で文字化けしているのではないか…というところまではなんとかたどり着いた。だとすると理由は

①アップロードする時に何らかの理由で文字コードが変換されてしまっている
②会社のサーバとうちのMacのプロトコルが異なっている

のいずれかだと考えられる。FTPクライアントを別のものにしてみたりと色々試行錯誤したが、決定打はでなかった。でもなんとなく②くさい。
仕方がないので、コードをshift_jisに変換したものとutf-8のままのものとを両方アップロードして翌朝、会社側に表示確認をしてもらうことにした。結果、会社側ではどちらのファイルも問題なく表示ができたとのこと。

やはり原因は②だったようだ。おそらく会社のサーバ(Windows系?)とうちのMacがうまく会話できていないのだろう。何度経験しても文字コード問題はイマイチ理解できない…。

しかし、サイトはutf-8を使用するのが主流になってきている。それが表示確認できないのはなかなかいただけない。対策方法を考えねば。


とりあえず、サーバにアップ後フォルダ名を英語にかえてブラウザの表示確認を行い、納品時にフォルダ名を日本語に替えるという方法で対応することにした。