アプリ版:「スタンプのみでお礼する」機能のリリースについて

素人ですが、職場で必要に迫られ模索中です。
ご教授お願いします。

ユーザ情報.csvというシフトJISのファイルを、同じフォルダで同一名のファイル、ユーザ情報.csv(UFT-8(BOMなし)に変換するバッチファイルを作成したいです。
バッチが不可能であればVBスクリプト?(まったくわからないけど)でも結構です。

最終的にはタスクスケジューラに仕込んで毎日定時に、チェックしてシフトJISであった場合、変換をするという動作が理想ですが、とりあえず変換するバッチが作れないので話になりません(;;

敷居が高いかもしれませんが、ファイルがUTF-8であってもエラーとならないように作れるとチェックして云々は不要と思っています。

よろしくお願いします(><

A 回答 (6件)

#4の回答者です。



nkf でも、Wscript でも、UTF-8 BOMなし変換は出来ましたが、

Wscript 側は、かなり面倒です、といっても、書いた本人が言うだけで、コピー&ペーストーするだけの話ですが。

結局、#2さんの言う通りになってしまいましたね。(^^;

>ユーザ情報.csvというシフトJISのファイルを、同じフォルダで同一名のファイル、ユーザ情報.csv(UFT-8(BOMなし)に変換するバッチファイルを作成したいです。

これだけで良いのでは?
-----------------------
Rem to_utf8.bat
@echo off
nkf.exe -w --overwrite %1
echo on
-----------------------SJISで保存すること----
戻すオプションは、 -s です。(sjis) %1の所はファイル名でも可

nkf.exe のありか。
http://www.vector.co.jp/soft/win95/util/se295331 …

》Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
》Copyright (C) 1996-2010, The nkf Project.

富士通がクレジットしているとは知りませんでしたね。
    • good
    • 0
この回答へのお礼

色々と調べてくれてありがとうございました。
バッチファイルでnksのプログラムを呼び出せばいい感じですね。
検証してみます。
ありがとうございました。

お礼日時:2017/07/02 23:36

文字コードの確実なチェックは不可能です。


ですので取る方法としては、
・まれに文字化けすることを許容する
・ファイル中に文字コードを判定できる特定の文字列を入れておく
・フォルダを分けるなどして文字コードの違うファイルが混ざらないようにする
のいずれかになりますが、どうしますか?
    • good
    • 0
この回答へのお礼

まれに文字化けをするのですね。
目視によるチェックも必要なのですね。

ご忠告ありがとうございました。
要検討します。

お礼日時:2017/07/02 23:37

私は、得意としはしていませんが、この数年間、結構、頻繁にこの問題には直面しています。

CSV でも、Excelナシということでしょうか?Excelのオートメーションを借りると、かなり状況は変わりますが。

手元の記録では、「SJISからUTF-8に変換」には、
・nkfツールで文字コードを変換する
・PowerShellで複数のファイルの文字コードを一括変換する
・WSHでファイルの文字コードを変換する(記録では Basp21使用になっています)
今は、この3つのどれでもありません。

#2さんの nkf が定番で、10年以上と長いこと、私などはお世話になりました。ある時、nkfが使えない日が来るとは思わなかったですが。大きさにもよりますが、CSVで巨大ファイルはありませんから、nkf で正解だと思うのですが。

プログラマブルに示したほうがよいようですね。
今、作ってみたら、BOM付きでした。
確か、BOMなしは、最初のPosition を3つずらすのだったと思いますが、あまり自信がありません。そんなことは考えたことがありませんから。

>チェックしてシフトJISであった場合
おまけにチェッカーが必要なんですか?

UTF-8のBOM付きのチェック方法は知っていますが、UTF-8 のBOMなしでチェックができるのかな?BOMなしは、エラーを起こすことが多いからです。

記録をみると、BOMなしは、一定区間のバイナリの混在する確率の計算になるのだそうです。逆に、SJISの方も同じく可能性の確率計算になるようです。
しかし、Batch や Wscript 辺りで、そこまでできるとは思えないけども。
PowerShell は私は使いこなせませんが、手はあるのかもしれません。

もう一度、調べてみます。
    • good
    • 0
この回答へのお礼

色々と調べてくれてありがとうございました。
バッチファイルでnksのプログラムを呼び出せばいい感じですね。
検証してみます。
ありがとうございました。

お礼日時:2017/07/02 23:38

自分ならInternet Explorerに読み込ませて、メニューのファイルから「名前を付けて保存」でテキストを選んでエンコードをUFT-8に指定して保存をする。



UNIX系のJISコードで書かれたテキストをShift-JISに変換するときによく使いますね。

・・・
これで自動化は難しいですけど。
    • good
    • 0
この回答へのお礼

レスありがとうございます。自分も手動で作業していたのですが、事故が多いので自動化を模索しているところです。厳しいですがなかなか厳しいです。

お礼日時:2017/07/02 00:56

有名どころでは nkf というプログラムがあります。


https://ja.osdn.net/projects/nkf/releases/p533
https://ja.wikipedia.org/wiki/Network_Kanji_Filter
・上書き機能
・文字コードの自動判別
があるので、BAT程度の制御で十分可能ではないかと
    • good
    • 0
この回答へのお礼

文字コードを意識する部署にいなかったので、なかなか理解できないですが、変換するプログラムが存在するのですね。調べてみます。ありがとうございました。

お礼日時:2017/07/02 23:29

手抜き回答でごめん。



Shift_JIS文化からUTF-8への移行ガイド
http://qiita.com/kawasima/items/41632dbd423dc044 …

Shift-JISからUTF-8Nへ一括変換
https://detail.chiebukuro.yahoo.co.jp/qa/questio …

【iconv】文字コードを変換して出力する
http://itpro.nikkeibp.co.jp/article/COLUMN/20131 …

 手間が掛かっていいなら、テキストエディタを使う方法。

 Tepa Either
http://www.greenspace.info/tepa/

 ファイルを読み込ませたら手動で文字コードを変更してから名前をつけて保存するなど。
    • good
    • 0
この回答へのお礼

色々とあるのですね。調べてみます。

レスが遅れてました。
ありがとうございました。

お礼日時:2017/07/02 23:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!