• ベストアンサー

複数のテキストの文字コード変更

私は今、Linuxで簡単なプログラムを作りHPに載せたいと考えています。 そして実際に載せて見たのですが、日本語入力したところがどうしても文字化けしてしまいます。 そして、文字化けの原因が文字コードにあるとわかりutf-8からsjisに変換したところ、文字化けしないようになりました。 日に20数個ものプログラムを作り、アップロードするので1つ1つ文字コードを変更している状態です。 しかし、現状ではとても大変なので、スクリプトを作り、複数のファイルの文字コードを変更したいと考えているのですが、どのようにすればいいのでしょうか? どなたか教えていただけませんか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#144013
noname#144013
回答No.2

こんばんは。 #1さんが仰っているとおり、Linuxのツール「nkf」で変換可能なようです。 ■参考サイト 文字コード変換コマンドnkfの使い方まとめ linux - Knowledge Database IT http://it.kndb.jp/entry/show/id/744 SourceForge.JP: nkf マニュアルの表示 http://sourceforge.jp/projects/nkf/docs/nkf-man-2_0_6-ja/ja/4/nkf-man-2_0_6-ja.txt SourceForge.JP: Project Info - nkf Network Kanji Filter http://sourceforge.jp/projects/nkf/ ・このページのリンク先から最新版がダウンロード可能なようです。

fullmetal0
質問者

お礼

ありがとうございます。 リンク先の「文字コード変換コマンドnkfの使い方まとめ」もとても参考になりました。

その他の回答 (1)

noname#208124
noname#208124
回答No.1

2以降のnkfが入っていれば一発 nkf --overwrite -Ws *.c

関連するQ&A

  • wordpressの2.5にて文字コードを変更する方法

    wordpressの2.5の日本語版を本日インストールしてみたのですが、表示設定から文字コードをsjisに変更すると管理画面から文字化けしてしまいます。 多分、ものすごく基本的なことでつまずいているのだと思います・・・。 ちなみに、推奨はutf-8であることは十分理解しているのですが、古いサイトのコードにあわせたいという理由で変更しようとしています。 utf-8からsjisに変更する方法を教えてください。(検索しても仕方が悪いのか中々うまくいきませんのでよろしくお願いいたします)

  • ファイル名の文字コード

    LinuxサーバにWindowsよりFTPで日本語ファイルの ディレクトリやファイルを大量にアップロードしました。 どうやらファイル名がsjisでアップロードされてしまったみたいで Linux上から見るとすべて文字化けしています。 ディレクトリ名とファイル名をsjisからeucへ 変換する方法はあるのでしょうか? よろしくお願いします。

  • 【フォルダ名の文字コードを変換したい】

    【フォルダ名の文字コードを変換したい】 Windows Vistaです。 Windowsではフォルダ名にShift-JISを使っていますが、とあるプログラムが日本語を読み込む際、文字コードがUTF-8でないと読み込めないようで、フォルダ名に日本語を含むフォルダを参照すると文字化けしてしまいます。 なのでフォルダ名をUTF-8に変換したいです。 検索するとLinux上でShift-JISのフォルダ名をUTF-8にしたり、Windows上でもファイルの内容をShift-JISからUTF-8に変換したりする方法は見つかるのですが、Windows上でフォルダ名をUTF-8に変換する方法が見つかりません。 UTF-8に変換するとエクスプローラ上では文字化けするので、需要がないのでしょうか。 コマンドプロンプトとか苦手なので、何かフリーソフトでもあればいいのですが…

  • PHPの文字コード変換について

    PHPで mb_convert_encodingを用いて UTF-8で記述されたPHPスクリプトファイルの PHPファイル内の任意の文字列の文字コードを変換する場合、 $value = "文字列"; $str = mb_convert_encoding($value ,"UTF8","UTF8"); print $str; この場合、特に問題なく、変換がおこなわれます というか、意味のないで処理ではありますが。 次に $str = mb_convert_encoding($value,"EUC-JP","EUC-JP"); とした場合 うまく文字列の文字コードの変換がおこなわれず 出力内容は文字化けします。 次に $str = mb_convert_encoding($value,"SJIS","SJIS"); とした場合 EUC-JPと同じく文字コード変換に失敗し 文字化けするだろうとおもいましたが おもいのほかブラウザの文字コードUTF-8のままで文字化けしていないのです。 これはどういう現象でしょうか? たとえば一つ目は UTF8で記述されたPHPファイルの文字列をそのままUTF-8として 変換されせるのですから、問題ないはずです。結果問題ありません。 二つ目は UTF-8でかかれたPHPファイルの文字列をEUC-JPでかかれたファイルとして EUC-JPという文字コードに変換しなさいという命令ですよね? これは思う通りにいかなくて文字化けした文字列が出力されるのはわかるのですが 三つ目はUTF8で記述された文字列をSHIFT-JISとしてSHIFT-JISに変換しようとしているにも かかわらず、結果問題なくブラウザのUTF-8で文字列と表示されてしまいます。 これはいったいどういう事なのでしょうか? これが仮に $str = mb_convert_encoding($value,"SJIS","UTF-8"); なら話は簡単んです。 UTF-8で記述されたファイルの任意の文字列を UTF8からSJISに変換しようとしているのですから問題なく SHIFT-JISでエンコーディングされた文字列が帰ってくるはずです。 こ乃原因をご存知のかたよろしくご教授ください。 お願い致します。

    • ベストアンサー
    • PHP
  • 文字コード変換時の文字化けについて

    HP-UX上で、文字コードUTF8のファイルをiconvにてSJISに変換して利用しています。 その際、¥(全角円マーク)、―(全角ダッシュ)、‐(全角ハイフン) などが文字化けしてしまいます。 shell内にて処理できればよいので、iconvでなくても結構ですが、文字化けしない方法をご存じ方がいらっしゃれば教えていただけると幸いです。 よろしくおねがいいたします。

  • phpMyAdminでCSVファイルをインポートするが文字化け

    MYSQL初心者です。 教えてください。御願いします。 phpMyAdminにて、漢字コードが「Sjis」のCSVファイルをLinuxサーバのMySQLにインポートするのですが、文字化けを起こしてしまい、旨く変換出来ません。多分、「utf8」に変換されているようです。勿論変換時の漢字コードは「sjis」にしております。どなたか助けて下さい。宜しく御願いします。

  • HP-UXでの文字コード変換方法

    非常に困ってます。どなたかご存知の方、ご教授下さい。m(_ _)m あるPPが出力するログファイルがあり、そのログには UTF-8とSJISのコードが含まれている事が分かりました。 このファイルをSJISに変換したいのですが、iconvコマンドを使用すると(iconv -f utf8 -t sjis)、UTF-8の 箇所は問題なく、変換できますがSJISが混入している箇所で、エラーとなります。 「上記コマンド例では、"UTF-8"を"SJIS"に変換して!」という意味で、変換元にUTF-8ではない"SJIS"が 入っていると、その箇所で、エラーになるようです。 同一の要件を、Linuxでも実装する必要があります。 Linuxでは、iconv以外にも"kcc"という便利なコマンドが用意されているようで、"kcc -s"と実行すると 元ファイルにUTF-8であろうがSJISであろうが、何のコードが入っていても、自動判別して指定したコードに 変換してくれうようです。 と、いう訳でHP-UXでのコード変換に非常に困っています。どなたか、同じ事で悩まれた経験がある方、 知識豊富で、対象方法をご存知の方、 助けてください。。。m(_ _)m

  • SJIS⇔UTF-8の文字コード変換

    SJIS⇔UTF-8の文字コード変換をするプログラムを作りたいのですが、簡単な方法があれば教えてください。 できれば、文字コードをケース文で判断して・・・のような処理ではないほうが、ありがたいです。

  • VisualStudioの文字コードについて

    現在、WindowsとLinux(Unix)でソケット通信を行い、文字のやり取りをするプログラムを作成しています。 ソースコードやコンパイルの環境は、 Windows側(Windows7):C言語(Windowsプログラミング)、VisualStudio2013でビルド&実行 Linux側:C++、g++(Cygwinを使用) です。 Windows側のソースコードがShift-JIS、Linux側がUTF-8であり、このままだと文字化けしてしまうため、Windows側のソースコードをUTF-8に変更(VisualStudioでソースコードを保存するときに「エンコード付きで保存」を使用)して再度ビルド、実行を行ったのですが、やはり文字化けしてしまいます。 ソースコードの文字コードを変更しただけでは不十分なのでしょうか? 原因があまりよく分からず困っています。 もし何か分かることがあれば教えていただきたいです、よろしくお願いします。 (もしかしたらカテゴリ違いかもしれません、申し訳ありません)

  • MySQL5.1の文字化け

    多くの方が同様の質問をされていたのですが、一致する問題が見つけれなかったので、ご存じの方がおられたら教えて下さいm(_ _)m (環境)  PHP 5.2.8 ZendFramework 1.5.1 から Pdo Mysqlを使用  文字コード:SJIS  Mysql 5.1  文字コード:EUC-JP (質問内容) 携帯の絵文字データをSJISのバイナリでスクリプト中に埋め込むため、スクリプトの文字コードをSJISに統一したところ、文字化けが発生しました。 SET NAMES SJIS のSQLを発行することで表示は正しくできるようなったのですが、新たにレコードを追加しようとすると文字化けが発生します。 例)情報 → 情表 insertを行う前の文字コードをSJIS,SJIS-win,EUCと変えてみましたが、SJISもしくはSJIS-winの場合は上記の例のとおりとなり、EUCにすると完全な文字化けとなりました... おそらく登録時にMYSQLがSJIS→UTF8→EUCに変換される時に正しく変換されていないものと思われるのですが、どなたか対処方法をご存じないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP