• ベストアンサー

ファイルの文字コード変換

一度Shift-JISコードで作成したファイルを、そのままの状態でEUCコードに変換することはできないのでしょうか? ◇試したこと 1)文字コード変換ツール(フリーソフトを2,3種類) 2)インターネットエクスプローラで開いて文字コード変換 ◇結果 1)いずれも変換されなかった 2)変換されたが元のファイルのテキストが崩れた かなりたくさんShift-JISファイルがあるので困っています。 いい方法を御存知の方がいらっしゃいましたら御教授いただければ幸いです。

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

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.5

繰り返しますが。 ANo.1この回答へのお礼,で提示された 元ファイル(Shift-JIS) 15行は,ASCII文字しか含まれていませんので,Shift_JIS → EUC-JP変換しても改行コードが置換されるだけで,秀丸の表示は「日本語(Shift-JIS)」のままですよ。 入力ファイル:sjis.php 中に日本語文字を含めて試していないんじゃないですか。

potkurin
質問者

お礼

何度もお手数をおかけします。 なんだか頭の中がこんがらがっていました。 確かに、日本語を入れると変換できました! と、いうことはつまり、ファイル内のテキストが全てアルファベットで記述されていれば、改行コードなどを除外して考えると、文字コードはShift-JISでもEUCでも同じ、ということなのでしょうね、きっと。 文字コードは奥が深いですね。 ありがとうございました!

その他の回答 (4)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.4

私は,次のツールだけを試してみましたが,正常に変換できています。 http://www.unibirth.com/products/CharsetConverter/ 「4.操作方法――ダイアログからの変換」の画面どおりの方法で,入力ファイル名:sjis.php,出力ファイル名:euc.php として試しました。 ANo.1この回答へのお礼,で提示された 元ファイル(Shift-JIS) 15行は,ASCII文字しか含まれていませんので,Shift_JIS → EUC-JP変換しても改行コードが置換されるだけです。 念のため,入力ファイル:sjis.php 中に日本語を含めてみましたけれど,やはり正常に変換できています。

potkurin
質問者

お礼

御回答ありがとうございます。 私の環境ではやはりできていないようです。 ツールの処理後のメッセージは「正常に終了しました」 となり、euc.phpも生成されているのですが、 秀丸で開いて確認するとShift-JISのままでした。

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3

ANo.1この回答へのお礼,の後半で述べられている次の事項は質問者の思い違いです。 >IEで開いたのちShift-JIS → EUC へ変換 IEは 元ファイルの変換などしません。IEは「元ファイルはそのままで」,ただその文字コードの自動判別を間違うようなら人間がその解釈方法を指定してやることができるというだけです。それがIEの 表示→エンコード です。 (もしも元ファイルの文字コード変換ができるなら,IEの 表示→エンコード→その他 を使えば,日本語から外国語への自動翻訳ができるというスゴイことになりますよね?) ということで,正しくShift-JISとして自動判別できていた元ファイルを,無理やりEUC-JPとして解釈させたら, get_log_all(); $smarty = MySmarty::getInstance(); $smarty->assign('list', $out_list); $smarty->display('admin_sale.html'); ?> という結果になった,というのが後半の記述です。

potkurin
質問者

お礼

御回答ありがとうございます。 なるほど、IEは文字コードを変換するわけではないのですね。 大変参考になりました。

回答No.2

インターネットエクスプローラの保存でEUC指定しても表示の時の文字コードをEUC指定しないとShift-JISコードで表示しようとするだけだと思います。 今は、インターネットエクスプローラを使っていない(SeaMonkeyを使ってここも見ています。)のでやってみてはいないのですが、ページのソースに「charset=EUC-JP」の指定がないとShift-JISと解釈して表示されていませんか? インターネットエクスプローラのソースの表示でメモ帳を使って表示し、保存すれば。Shift-JISコードになると思います。 ただし、メモ帳は一定サイズのサイズまでしか処理できないので、これを超えるとワードパッドに切り替わると思います。

potkurin
質問者

お礼

御回答ありがとうございます。 なかなか上手くいきません。 なんとか頑張ってみます。

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

本当に解決したいのなら説明をサボらないで, ・具体的にどのOSで ・具体的にどういうツールを使って ・具体的にどういう使い方をして みたけれど望む結果が得られなかったのか,きちんと提示するものだと思いますけれど。 あと,異常が再現できる最小限のデータを提示してくれませんか。いずれも変換できない/崩れたというのなら,サイズの小さいファイルでも同様の結果になる可能性が高いですから。 (Shift-JISだと思っているけれど実はそうじゃない,とか,文字コード指定とファイル中身が食い違っている,とか,その辺りの間違いかもしれません)

potkurin
質問者

お礼

御回答ありがとうございます。 失礼しました。 追記させていただきます。 ・具体的にどのOSで WindowsXP SP2です ・具体的にどういうツールを使って 以下のツールです。 1)CharsetConverter 2)文字コード変換ツール fot .NET (version 2.0) ・具体的にどういう使い方をして 以下に従って行いました。 1)http://www.unibirth.com/products/CharsetConverter/ 2)こちらはURLを見つけることができなかったので   (1)exeファイルを解凍   (2)「EncodingConveter.exe」を実行し、変換元ファイルを指定    し、変換元コードを「Shift-JIS」と指定   (3)変換先フォルダを指定し、変換先コードを「EUC-JP」に指定   と操作しました。 ◇確認作業  秀丸でファイルを開き、右下部の文字コードを確認しました。 また、IEでの確認ですが、 下記のソースで試してみました。 -------- 元ファイル(Shift-JIS) ------------- <?php require_once '../include/func.php'; require_once '../class/mysmarty.class.php'; require_once '../class/sale.class.php'; $sale = new Sale(); $out_list = $sale->get_log_all(); $smarty = MySmarty::getInstance(); $smarty->assign('list', $out_list); $smarty->display('admin_sale.html'); ?> -------- 元ファイル(Shift-JIS) ------------- IEで開いたのちShift-JIS → EUC へ変換 -------- 変換後のファイル(EUC-JP) ------------- get_log_all(); $smarty = MySmarty::getInstance(); $smarty->assign('list', $out_list); $smarty->display('admin_sale.html'); ?> ----------------------------------------------- これも秀丸で開いて文字コードを確認しました。 以上のような感じです。 何卒よろしくお願いいたします。

関連するQ&A

  • ディレクトリ毎、文字コード変換できるツールはありますか?

    ディレクトリ毎に、Shift_JIS⇔EUCで文字コード変換 できるおすすめなツールはありますか? なかなか良いのがなくて。。 テキストエディタでファイルを1つずつ開いて 変換してるのですが100個もあると結構大変です。

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

    ActivePerl-5.14を使っているのですが、文字コードの変換はどのようにすればいいのでしょうか。 ローカル環境で動かしているのですが、Shift-JISのテキストを読み込んで、EUC-JPに変換したいと思っているのですが、 今まで5.8を使っていたので、Jcodeを使って、&Jcode::convert(\$txt,'euc'); としていたのですが、5.14ですと use Jcode;  の時点でエラーになってしまいます。 use Encode; を使って、 from_to($txt, 'shiftjis', 'euc'); としてみましたが、 from_to($txt, 'shiftjis', 'euc'); のところでエラーになってしまいます。 ActivePerl-5.14ですと、どのように文字コードの変換をすればいいのでしょうか。 どなたか教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • PHP+MYSQLでの文字コードによる文字化け

    お世話になっております。 PHP+MYSQLの構成でDBに登録、DBから参照→表示といったアプリケーションを作っているのですが質問があります。 文字コードを意識せずに、”Shift-JIS”でPHPやhtmlのコードを書いていたのですが、仕様上問題があることに気づいたので今まで書いたソースの文字コードを”EUC-JP”に変更することになりました。 フリーで複数のテキストファイルをShift-JIS→EUCに一括変換するソフトがあるので、そのソフトを使ってEUCの文字コードに変換したところ、ソース中の日本語(全角)が文字化けしてしまいました。 #どの変換ソフトを使っても同様の結果になります ブラウザー上で表示すると問題ありませんが、今後ソースをいじるときに非常に不便です。目的としては、「ソースの文字コードをShift-JISに変換」かつ「ソース内の日本語(全角)の文字化けを起こさない」方法をご存知の方は是非ご教授お願い致します。

    • ベストアンサー
    • MySQL
  • 文字コード変換ツール

    テキストファイルの文字コード変換ツールを探しています。 変換を行うのは、Shift_JISとUnicode、Unicodeと韓国語、Unicodeと中国語 です。 私が試したのは、1行が512バイトを超えると切れてしまいます。 複数(多数)のファイルをまとめて変換できると尚可です。 (ちなみに、秀丸はあるのですが、何とかして、まとめて変換できないでしょうか。) OSはWindowsXP

  • 文字コードが変わってしまう

    Webページ作成関連の市販のテキストについているサンプルコードを自分のマシンにコピーして勉強しています。WindowsXPとWindows7を使っています。 たとえば、【今日問題なく使った】のに、翌日同じHTMLファイルのソースを見たら、文字コードが矢印に変わってしまっています。 改行コード変換ソフトで変換して、また元に戻して作業をしました。 翌日、他の部屋のマシン(WinXP)でそのファイルを開いたら、また文字コードが矢印に変わっていました。 詳しいことはわからないレベルですが、状況だけ書いてみました。 文字コードが変わってしまうタイミングってあるのでしょうか。関係ないかもしれませんが、書籍についてきたサンプルファイルの文字コードはUTF-8なので、文字コード変換ソフトでShift_JISに変更しました(なぜShift_JISにしたかは、特に意味はありません。UTF8がいいというのは聞いていますが、とりあえずShift_JISでやっています)。 難しい理論は理解できないと思いますが、どうしてそうなるかを教えていただける方がいたらお願いします。

  • テキストファイル 文字コード変換

    Mac OSX 10.9にて、pagesを使って文章作成をしています。 この文章をポメラDM5で閲覧・編集をしたいと思っています。 DM5はテキストファイル(shift-jis)のみを扱えるので、pagesの文章を標準テキストとして書き出したものをmiで開き、文字コードを変換しています。 ところが、文字コード変換を試みてもUTF-8にしかない文字があるので変換できない旨が表示され、変換ができないファイルがいくつかあります。 具体的にどの文字がひっかかるのかがわかれば対処のしようもあるのですが、miでは表示されません。 ネット上でUTF-8にしかない文字を調べ、元の文章内を検索してみましたが、らちがあきませんでした。 そこで、お聞きしたいのですが、 1.UTF-8のテキストファイルをshift-jisに変換するソフト等 その際、文字コードに依存する文字があったら自動変換、または強制的に変換(その文字だけ文字化けするなど)するもの ※なお、multi text converterというソフトはエラーで落ちてしまい、使えませんでした。 http://www.rk-k.com/software/mtc 2. テキストファイル中のUTF-8にしかない文字を発見して教えてくれるソフト等 3. その他の解決手段 のいずれか、有用なものを教えていただけると幸いです。 なお、windows系のPCも持っていますのでソフト等はMacにこだわりません。 できれば無料のソフトが良いのですが、難しければ有料のものでも構いません。 よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • ファイルの文字コード

    パソコンの文字コードには、Shift-JISやEUCなど様々な形態があるようなのですが、 日本語(漢字、半角カナなど)を使用していないファイル=英語のみのファイル ではファイルの文字コードというのはどれでも同じなのでしょうか? 初心者な質問ですが、何卒よろしくお願いします。

  • dreamweaverで文字コードを変換して保存するには

    xpでdreamweaver8を使用しています。htmlファイルをdwで編集後、文字コードを変換して(具体的にはもとのshift-jisからISO-8859-1)そのファイルを保存しなおすことは可能でしょうか。 海外のサーバーにアップしていて、shift-jisだと日本語をインストールしていないPCから接続すると、ブラウザ上でアラートみたいのがでてしまうのでそれを避けたいです。 ファイルには日本語文字列はいっさい入っていませんが、どうもいろんなテキストエディタからコピー、ペーストをくりかえしていたら元ファイルがshift-jisになってしまったようです。 htmlソース内へのメタタグ挿入での変換ではなく、ファイルそのものを文字コードかえて保存したいです。 新規ドキュメント製作内にあるデフォルトエンコードの設定を変えても、またページプロパティでエンコードをかえて適応でもだめでした。 もしくは、別名保存で保存しなおそうにも、文字コード選択のタブがありません。 そして変換可能であるならば、ファイルを一括で変換することはできるでしょうか。 また考えたのですが、dwのFTPで転送するときに文字コードのみを変換して転送することは可能でしょうか。 そのほか、メモ帳、wordpad、sakura editor、notepad++、などのテキストエディタで保存時に変更しようと企みもしましたが、 どれもutf-8は選択にあるのですが、ISO-8859-1のみありません。また、ANSIで保存しようとすると、なぜかshift-jisになってしまいます。 解決方法があれば、よろしくお願いします。

  • EUC⇔Shift_JISの文字コード変換について

    DB(OS:win2003、DBMS:MySQL Server5.0  文字コードはEUC)に対して CSVファイルをインポート、エクスポートしようとしています。 入出力ファイル(CSVファイル)の文字コードはShift_JISのため、 文字コード変換が必要となってきています。 CSVファイルのインポート/エクスポート、文字コード変換は、 php5.2.5で構築しています。 今、エクスポート(EUC→Shift_JIS)したCSVファイルを、 エクセルで確認すると極一部が文字化けしてしまいます。 そこで質問が4つあります。 1.文字化けは仕方ないことなのでしょうか? 2.文字化けする文字を特定することはできるのでしょうか? 3.エクスポート方法、変換方法によって文字化けする文字は変わってくるので しょうか? 4.みなさんはこのような文字化けの問題をどのように回避した経験お持ちですか?   (文字化けは已む無し、文字コードを意地でも統一した、    文字を特定して特殊文字に置き換えたなどなど) 基本的なことと思いますが、よろしくご教授願います。  (3.4.はもっと詳細がわからないと何とも言えないかもしれません。   ご回答頂く為には何を調べればいいのかからも教えてください。   よろしくお願いします。)

    • ベストアンサー
    • MySQL
  • 文字コードの変換について

    現在、表示はPHPで文字コードはEUCで表示しています。 そのときには表示できるのですが、 表示したものを、SHIFT-JISにエンコードしてエクセルに表示するときに、文字コードの違いにより表示されないものがあります。 エンコードは $str = mb_convert_encoding($str, "SJIS", "auto"); と行っています。 EUCからSJISに変換するときに、何か特別なことを行う必要があるのでしょうか??

    • ベストアンサー
    • PHP