• ベストアンサー

ファイルコードの変換の問題

現在、shift-jis ファイルをUTF-8に変換するところです。 使っているソフトはGNU の iconvです。バージョン1.10です。 iconv -f SHIFT_JIS -t UTF-8 a.txt > b.txt で文字コードが変換されていない 詳しい方が教えていただけないでしょうか

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

iconv --list で使用可能な文字コードは確認されていますよね? >iconv -f SHIFT_JIS -t UTF-8 a.txt > b.txt iconv -f SHIFT_JIS -t UTF-8 < a.txt > b.txt でもダメですか?

ikutame
質問者

補足

返答ありがとう! 日本語が入ってないと、変換してくれないですね。 さらに、正しく変換しているとは限らないですね。 文字化けがありますし。 それはどういうことだと思います。バージョンのせいですか

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「文字化けがある」というだけでなく, 「どの文字がどのように変換されてしまったのか」を書いてください.

関連するQ&A

  • ファイルの変換についての質問(iconv)

    ファイルの文字コードを変換したいということですので、 ファイルの文字コードは、shift-jisからBomがつくUTF-8ファイルに変換 するつもりです。 現在使っているソフトは GNU の iconvです。 OSはWindowsXpです。 どうやってMS-DOSからファイルをBomが付くUTF-8のファイルにします? なんの設定する必要がありますか?

  • シェルスクリプトで引数をファイル名に使うには?

    シェルスクリプトでutfとshift-jisの変換を行いたいと思ってます。 ファイル出力のところでファイル名を$1と引数にするとうまくいきません。(変換されてなかったり、空ファイルできたり) >! $1 ではなく $1.xx とかにするとうまくいきます。 どうしたら引数のファイル名に出力できるでしょうか? #!/bin/sh if [ $2 = 'us' ] then cp $1 $1.utf8 iconv -f UTF-8 -t SHIFT-JIS $1 >! $1 echo "$1 UTF-8 => SHIFT-JIS [ OK ]" elif [ $2 = 'su' ] then cp -f $1 $1.sjis iconv -f SHIFT-JIS -t UTF-8 $1 >! $1 echo "$1 SHIFT-JIS => UTF-8 [ OK ]" else echo "$1をコンバートできませんでした。" fi

  • iconvでSJIS→UTF-8に変換できない文字

    cygwin1.7.31 の iconv を使って50個程度のShift-JISのcsvファイルをUTF-8に 一斉に変換しようとしていますが、 レコード内に「(1)」という文字があるためか、出力が止まってしまいました。 このような文字を含む場合も変換する方法がございましたらご教示ください。 お願いします。 入力したコマンドは次の通りです。 iconv -f Shift_JIS -t UTF-8 abc.csv > test.csv エラーメッセージ iconv: abc.csv:36:30: cannot convert

  • unzipで日本語ファイル名が文字化けする

    Windows上で作成した「テスト1.txt」、「テスト2.txt」というファイルを圧縮したsample.zipがあります。これをlinux上でunzipで解凍したところファイル名が文字化けしました。検索すると「-O」オプションで文字コードを指定するとよいとのことでしたが手元のlinux OSのunzipには「-O」オプションは存在しないようでした。 https://qiita.com/toyoshim/items/be4613fa373b4847196f そこで上記ページの記述にあるように 「iconv -f shift-jis -t utf-8を通したリネーム」 というのをやろうと思い 「unzip sample.zip | iconv -f CP932 -t utf-8」 とコマンドを打ってみましたが文字化けしてしまいました。 何かコマンドの使い方間違っていますでしょうか?

  • 現在の文字コードの確認

    お世話になります。 以下のシェルスクリプトでテキストファイルの文字コードをUTF8に変換したあと、 返還後の文字コードを確認するステップを追加したいと考えています。 ------------------------------------- #!/bin/sh for f in `ls *.txt` do iconv -f SJIS -t UTF8 < $f > utf8-$f done ------------------------------------- 次のようなスクリプトを作成しましたが正常に処理が行われませんでした。 どのように記述すればよいでしょうか。 ------------------------------------- #!/bin/sh for f in `ls *.txt` do iconv -f SJIS -t UTF8 < $f > utf8-$f nkf -g < $f > done ------------------------------------- ご協力のほどよろしくお願いいたします。

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

    一度Shift-JISコードで作成したファイルを、そのままの状態でEUCコードに変換することはできないのでしょうか? ◇試したこと 1)文字コード変換ツール(フリーソフトを2,3種類) 2)インターネットエクスプローラで開いて文字コード変換 ◇結果 1)いずれも変換されなかった 2)変換されたが元のファイルのテキストが崩れた かなりたくさん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
  • 文字コード変換

    フォルダ内にあるtxtファイルの文字コードを一括でUTF8→shift-jisに変更できるbatファイルの作成方法を教えて下さい。 何かをインストールせずに作成したいです。 txtファイルとbatファイルは同じフォルダにある前提で作成したいです。

  • 文字コードの判別について

    とあるテキストファイルがあります。UNIX上で文字コードの判別を行いたいのですが、nkf --guess test.txtと打って調べると、 test.txt: ASCII (CRLF) となります。このファイルは、Shift-JISだという判定だと思います。 ファイルをUTF8に変換したいので、(1)Windows上のエディタ(秀丸)の機能を使ってUTF8に変換してからUNIX上にアップロードしたり、また(2)UNIX上から直接nkf -w --overwrite test.txtを実行して変換したりしたのですが、nkf --guess test.txtを打って調べると相変わらず test.txt: ASCII (CRLF) のままです。 色々調べた結果、ファイルの中身が英数字のみしか書かれていないので、nkfがこのファイルをShift JISだと「推測」しているということがわかってきました。確かに、試しにファイルの中身に日本語を書いて保存して実行してみると、ようやくnkf --guess test.txtの結果が test.txt: UTF-8 (CRLF) と表示されるようになりました。 これらの結果は、ファイルの中身のマルチバイト文字のコードを見て初めて文字コードがわかるようになるというように思えます。 私の理解ではファイル自体にEUCやShift JIS、UTF-8などの文字コードがあるものとばかり思っておりました。つまり、test.txtの内容が"This is a pen."であったとしてEUC、Shift JIS、UTF-8では全く異なる三種類のファイルが存在し得るものだと思っておりました。しかしこれは私の理解が間違っていて、英数字であれば常にShift JISであり、マルチバイト文字があって初めてUTF-8なのかEUCなのかShift JISなのかが決定されるということなのでしょうか? 英数字のみのファイルでもUTF-8ファイルという前提を確認する方法はないのでしょうか? 宜しくお願いします。

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

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

専門家に質問してみよう