• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:nkfで全角ハイフンが半角になる(cygwin))

Windowsでのファイル変換における全角ハイフンの問題とUTF-8への変換方法

このQ&Aのポイント
  • Windowsのファイル変換で全角ハイフンが半角になる問題を解決する方法とは?
  • UTF-16で出力されるWindows RegistoryファイルをUTF-8に変換する方法は?
  • nkfコマンドを使用してWindowsでUTF-8へのファイル変換を行う方法について

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

  • ベストアンサー
  • ky072
  • ベストアンサー率60% (85/140)
回答No.1

「--no-best-fit-chars」オプションを使う、 または nkf の代わりに iconv を使う、 あたりで解決する「かも」しれません。

参考URL:
http://ja.wikipedia.org/wiki/Iconv
haporu
質問者

お礼

iconvで可逆変換できました。 ありがとうございました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

nkf の --ms-ucs-map でどうでしょうか? あと、cygwinに閉じて作業しないのであれば、cygwinツールより Gnu-win32ツールの方がいいと思います。 http://gnuwin32.sourceforge.net/packages.html

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

未検証ですみませんが subversionを使うなら、属性 svn:mime-type を text/plain;charset=UTF-16LE にしたらいいかもしれない。 ついでにsvn:eol-style を nativeかCRLFにしておく。

haporu
質問者

補足

svn:mime-type を text/plain;charset=UTF-16LE にしてみました。 結果、db内のファイルサイズの差が全くなかったのですが、「ファイル '~~.reg' は改行文字が一貫していません」となって、svn:eol-style を nativeかCRLF に設定出来なかったからでしょうか(TortoiseSVN)。 また、UTF-16の20MBのレジストリファイルを1つ追加した状態でリポジトリの容量が1.9MB、 UTF-8にすると10MBでその場合のリポジトリは1.6MBだったんで、やはりky072さんの方法でUTF-8にして運用していこうと思います。 ありがとうございました。

関連するQ&A