009Eclipse | 英太郎の鯖缶

カテゴリアーカイブ: 009Eclipse

EclipseのSmartyエディタで文字コードを認識させる

2008年02月20日

EclipseのSSEコンポーネントを使用したSmartyエディタで文字コードをうまく認識しなかったので、ちょっと小技を。

色々いじっていて気がついたのですが、テンプレートファイルに
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
の記述があるファイルは文字化けしていなかったので、全てのファイルに挿入してみました。結果うまく認識しているようなので、しばらくこのまま使ってみようかと。
んで、簡単なプログラムをば。

#!/usr/bin/php
<?php
/**
* @product chaos eclipseに文字コードを認識させるためのコメント挿入
*
* @copyright 2007-2008 chaos-portal Project
* @author eitaroあっとまーくcpmstaff.com
*/

// pear File::Find
require_once 'File/Find.php';

$string = '{* <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> *}';
$dir = '.';
list($directories, $files) = File_Find::maptree($dir);
foreach ($files as $filename) {
if (! preg_match("{\.tpl$}i", $filename)) continue;
if ($str = @file_get_contents($filename)) {
$str = str_replace($string, "", $str);
$str = "{$string}\n" . ltrim($str);
file_put_contents($filename, $str);
}
print $filename;
print "\n";
}
?>

例によってバックアップはちゃんと取ってから実行してくださいね。動作の保証はしませんのであしからず。