注目の書籍

好評発売中!

IT業界徹底研究就職ガイド2013年版

IT/ネット業界で働くと いうことを分かりやす く解説。2013年3月卒 業の学生向けの1冊。

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

オープンソース/Linux

PHP TIPS

ITpro

76. ファイルの文字コードをコマンドで一気に変換

2008/03/06

Web2.0を意識したシステム構築ではXMLを扱う頻度が増え、同時にデザインテンプレートやスクリプトなども文字コードをUTF-8に統一したいというシーンが出てくるのではないでしょうか。それ以外にも文字コードをディレクトリ単位で変換したいシーンがあると思います。

世の中には文字コード変換専用のフリーツールが多数存在しますが、ここではUNIXコマンドによる文字コード変換を紹介します。

1.特定ファイルの文字コードを変換する

文字コードを変換する為のコマンド[nkf]を紹介します。 nkfは入力ファイルの文字コードを自動的に認識して指定の文字コードに出力してくれます。勿論、入力ファイルの文字コードを指定する事もできます。また、改行コードなどの指定も可能です。

代表的なnkfの文字コード・改行コードの出力オプションを紹介します

  -j   JISコードの文字コードを出力する
  -e   EUCコードの文字コードを出力する
  -s   Shift-JISの文字コードを出力する
  -w   UTF-8の文字コードを出力する
  -Lu  LFの改行コードを出力する
  -Lw  CRLFの改行コードを出力する
  -Lm  CRの改行コードを出力する

などがあります。

詳細は

$man nkf

$nkf --help

をご参照ください

文字コードがEUCのexample.phpファイルをUTF-8変換して出力する。

$nkf -E -w example.php > example_utf8.php

example.phpの文字コードを自動判別してUTF-8・改行コードをLFに変換して出力する。

$nkf -w -Lu example.php > example_utf8.php

これまでは、上記のように文字コード変換を行ったファイルを、わざわざ標準出力より別名で保存していたと思います。そんなビジネスパーソンの皆様に朗報があります。

2.overwriteオプション

実はnkfコマンドにはoverwriteというオプションがあります。

example.phpをUTF-8に変換して書き換える

$nkf --overwrite -w example.php

ここまで解ってしまえば後は簡単。

3.ディレクトリ以下のPHPファイルを全てUTF-8に変換する
$find -name '*.php' | xargs nkf --overwrite -w

アイディア次第でWindowsツールいらずな所がUNIXコマンドの良いところでもありますね。



(アシアル 海原才人)


この記事は、アシアルが運営するPHP開発者のためのポータル&コミュニティサイト「PHPプロ!」で毎週配信しているPHP・TIPSメーリングリストを再録したものです。
同サイトでは、他にもPHP最新ニュースや、困ったときのQ&A掲示板、初心者向けのPHP講座など、PHP開発者をサポートする情報を掲載しています。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介