![]() KUNISAN.JP全ウェブページのUTF-8化 (複数ファイルの文字コード変換)名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2017年10月29日 ![]() ![]() ・Notepad++ - 基本はテキストエディターですが、複数ファイルのテキスト一括変換も対応しています。正規表現も使えます。 ・KanjiTranslatior - 複数ファイルの文字コード一括変換ができます。 作業はHTMLのmetaタグ中の文字コード宣言をShift_JIS(SJIS)からUTF-8に変更し、その後にファイルをUTF-8形式に変換するというのが中心になります(逆の順番で行うと、Notepad++が文字コードを誤認識する影響で、文字化けが発生してしまいます)。 作業はそれなりに順調に進みましたが、やはりPerlやPHPの文字列絡みのところで何度かひっかかりました。具体的には以下のような所でした。 ・Perlでのメール送信。今まではjcode.plを使って日本語の処理をしていましたが、jcode.plはUTF-8に対応していません。ただ、Perl5.8からデフォルトで各種コードが扱えるようになっているので、"use utf8"の宣言をして、encode関数、decode関数を使ってメール作成、送信の処理をしています。 ・PHPの文字列処理。今まではmb_internal_encoding、mb_regex_encodingがいずれもSJIS指定になっていましたが、これをUTF-8に変更しています。MySQLとのデータやり取り(UTF-8⇔SJIS)などで使用していたmb_convert_encodingも全て無効にしました。 ・PHPでのメール送信。送信者名が日本語の場合、UTF-8のままメール送信処理を行うと、受信者側のメールクライアントによっては文字化けする不具合が発生しました。mb_encode_mimeheaderを使うことで回避しています。 対策に何時間もかかるような大きなトラブルは無かったものの、やはり一括変換だけでは処理しきれないファイルも多数あったことから、トータルで10時間ほどかかってしまいました。ただ、今週末は関東地方に台風が近づいていて雨が降り続いていたので、こういった作業を自宅で集中的にやるには最適のタイミングではありました。 KUNISAN.JPのウェブページは、1997年から作り始めたこともあって、ほぼ全ページ文字コードがSJISでした。しかし、データベース(MySQL)や外部APIとの絡みや、昨今のWeb関連の流れに沿う形で、今回のUTF-8化への決断となりました。表面的には何も変わっていないように見えますが、今後のメンテや新しい外部サービスとの接続などでは、より効率化が図れるようになったと思います。 Web管理関連記事(リンク一覧): さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2019) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / Googleマップの有料化(ディベロッパー向け) → Google Cloud Platform / ...(記事連続表示)
![]() 最近の記事: 第14回湘南国際マラソン10km(2019) / ヘディングゲーム - プチコン4で重量を考慮したキャラ衝突処理 / ロボットかけっこ1着2着当てゲーム - プチコン4で競馬風賭け系ゲーム / わくわくフルーツ農場~早朝編~ - プチコン4で横視点の物理アクションゲーム / TAKARABAKO - プチコン4にPC-6001の自作ゲームを移植 / EXTREME EXTERMINATOR - プチコン4でミサイルコマンド風シューティングゲーム / 第3回松本マラソン / LDLコレステロールまた上昇…(2019年健康診断) / プチコン4のお気に入りの公開作品(ゲーム) / 有機ELテレビ(LG OLED55C7P)の故障(不具合) - 画面に縦の線が…
■ ホームへ
|