日次バッチで出力後のCSVファイルについて、文字コードをUTF-8(BOMなし)に変換したいのですが、
出力内容に日本語が含まれない場合、以下のコマンドだけでは変換できないようです。

<現状使用しているコマンド>
start /min /wait cmd /c chcp 65001 ^& cmd /c type c:\hoge\hoge_uni.csv > c:\hoge\hoge.csv
del /Q c:\hoge\hoge_uni.csv

お客様に相談したところ、ファイル出力の際に日本語を追加して
文字コード変換後に日本語を削除できないか、とのことでしたが
当方がコマンドに詳しくなく、解決策がありましたらご教授頂けないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

Unicode のコードポイント 0~127 は ASCII と全く同じ文字をコードし, かつ UTF-8 はその範囲のコードポイントをその値そのものの 1バイトで表しますから, #1 でいわれているように「いわゆるASCIIのみ」であれば BOM なしの UTF-8 と全く同じになります. つまり「変換」してもなにも変化しません.



「変換後にSJISファイルになっていて」というのはどうやって確かめているんでしょうか?
    • good
    • 1
この回答へのお礼

コメントありがとうございます。

>「変換後にSJISファイルになっていて」というのはどうやって確かめているんでしょうか?

サクラエディタで開き
右下に表示される文字コードを確認していました。

丁寧なご説明ありがとうございます。納得です。
お客様に納得して頂ければ、今のままでリリースできるかもしれません
本当に助かりました、ありがとうございました!

お礼日時:2016/08/27 08:36

たぶん文字コード自動判定に掛けてShift_JISと出たということでしょうね。


問題無いです。
ASCII文字しか含まないファイルはBOM無しUTF-8でもありShift_JISでもあるので、判定はそうなっておかしくありません。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。
文字コード上全く同じ状態ということなのですね。

ご指摘のとおり、今のままで問題なさそうです
ご助力ありがとうございました。

お礼日時:2016/08/27 08:39

>出力内容が英数字のみの場合という意味です。



いわゆるASCIIのみ…ってことでしょうかね?
だったら、ASCIIのみのファイルとBOMなしUTF-8のファイルって同一のような気がしますけど。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。

>だったら、ASCIIのみのファイルとBOMなしUTF-8のファイルって同一のような気がしますけど。

自分の理解度が足りず非常に申し訳ないのですが
同一とはどういうことなのでしょうか?

現状は変換後にSJISファイルになっていて
お客様からは、UTF-8形式での出力を求められています。

お礼日時:2016/08/26 16:00

可能なら「日次バッチ」で CSV を出力する時点で文字コードを UTF-8(BOMなし)にするのが正解だとは思うけど....



確認ですが「出力内容に日本語が含まれない場合」というのは, 例えば「日本語は含まれないけど中国語が含まれる」とかいうことでしょうか?
    • good
    • 0
この回答へのお礼

コメントありがとうございます。

>確認ですが「出力内容に日本語が含まれない場合」というのは, 例えば「日>本語は含まれないけど中国語が含まれる」とかいうことでしょうか?

申し訳ありません、記載が曖昧でした。
出力内容が英数字のみの場合という意味です。

お礼日時:2016/08/26 14:59

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q後輩達にお揃いのものをプレゼントしたいの思うのですが、100均の材料で手作りできるものはありますか?

後輩達にお揃いのものをプレゼントしたいの思うのですが、100均の材料で手作りできるものはありますか?運動部です。

Aベストアンサー

運動部ならちょっと凝ったミサンガとかが無難で嬉しいと思いますよ。

QUTF8CSVをシフトJISCSVへ文字コード変換

UTF8形式CSVデータをシフトJIS形式CSVデータに
文字コード変換するにはVBAプログラムの勉強を
すれば可能でしょうか??

Aベストアンサー

そういうことなら、勉強してもいいでしょう。

> テキストエディタで開いてShift_JIS指定で保存はしたことがあるのですが、シフトJIS対応のカスタマーバーコード対応のCSV生成ソフトを使用すると文字化けが発生します。

これが本当にテキストエディタが原因かどうかは調べておいた方がよいでしょう。
例えば、UTF-8にしか無い文字をShift_JISにしようとした結果で発生したものなら、自作プログラムでも同じ文字化けが発生するでしょう。


> フリーソフトも考えたのですが、50万件のデータをしっかり加工したりするのに、動作不安定にならなければと思って質問しました。

失敗したくない気持ちもわかりますが.....
これから勉強しようというあなたが作るのと、すでに多くの人が使って実績のあるフリーソフトと、どっちが安定しているか、ということは考えておいた方がよいでしょう。

Q100均で作るウェディング飾り

来年の7月に挙式予定なので、今からいろいろ手作りしているところです。(手作りするには早すぎる気がますが)
造花を、スポンジに挿してカゴ(すべて100均)に入れてというフラワーアレンジ?をしていますが、それだけだったら単純だなぁと思い、
頭を悩ませています。
やみくもに造花やリボンなどを買ってきてしまっているので、材料があまっています(>_<)
100均で使える飾り方やオススメグッズ等ありましたら教えてください。
フラワーアレンジメント以外でも可なのでお願いします。

Aベストアンサー

ご結婚、おめでとうございます♪
作るのって、わくわくしますよね(^^♪
私は式の前日、打ち合わせに行ったときに他の方が
式場の受付に可愛いウエルカムボードが置いてあったんです。
これは使える!とその足で早速100均へ・・。
小さいフォトボードに、木彫りの文字を貼り
(表札代わりに貼ってあるようなもの)
『Welcome ○○(旦那の名前)&○○(私の名前)』と作って
周りに造花のツタや花で飾りをつけました。
これは、式が終わってもいい記念になりましたよ。
自画自賛じゃないですけど(笑)よく出来たので
今でも、結婚式の写真と一緒に飾ってあります。
ご質問者様も、いい品が出来ると良いですね☆
お幸せに~♪

QRubyでUTF8のコード値を文字に変換する方法

UTF-8の文字コードのコード値が,以下のように\(バックスラッシュ)+8進数の表記×3バイト分で,記述されています。
(例えば,\343\201\202は「あ」を表す)

"\343\201\202\343\201\204\343\201\206"
(これは「あいう」)

このようなコードの値を文字列にしたものを,実際のutf8の文字に変換するメソッドは無いのでしょうか?

例えば,

"\343\201\202\343\201\204\343\201\206".method
=> "あいう"

のようなmethodに相当するメソッドは無いのでしょうか?

Aベストアンサー

前回の続きですね。
http://okwave.jp/qa3630630.html

前回のお礼の欄で、問題点が見えてきましたが、
p と、print(puts)は違いますよ。
この点を勘違いしているのでは?

今回の件では、下記で「あいう」と表示されます。
(当方は、Windows環境なので sjis に変換します)

require 'kconv'
print "\343\201\202\343\201\204\343\201\206".tosjis

p ではなく、 print か puts を使って下さい。

因みに p なら下記の様に表示されます。

"\202\240\202\242\202\244"

--------------------------------------------------
念のため、前回の件の補足をしますが、
当方の環境では、下記のソースで文字コード変換出来、
正常に日本語が表示されます。
(UTF-8で書かれたページで確認しました。)

require 'net/http'
require 'kconv'
resp = Net::HTTP.new("サイトアドレス").get("パス")
print resp.body.tosjis

前回の続きですね。
http://okwave.jp/qa3630630.html

前回のお礼の欄で、問題点が見えてきましたが、
p と、print(puts)は違いますよ。
この点を勘違いしているのでは?

今回の件では、下記で「あいう」と表示されます。
(当方は、Windows環境なので sjis に変換します)

require 'kconv'
print "\343\201\202\343\201\204\343\201\206".tosjis

p ではなく、 print か puts を使って下さい。

因みに p なら下記の様に表示されます。

"\202\240\202\242\202\244"

------------------...続きを読む

Q100均のアロマオイルって・・・

100均で買ったアロマオイルは手作りの化粧品に入れても大丈夫でしょうか?
因みにラベンダーを買いました。

Aベストアンサー

よくありません。入れないでください。
私は皮膚の研究者だった者です。
それにアロマテラピーは趣味なので 資格をもっています。
100均は私に言わせると下品な香りがします。
肌にもよくありません。
これが理由の1つです。


また、いろいろな精油 ほとんどが
植物由来のものなので それを肌につけて太陽に当てると
酸化してシミの原因になります。
これが精油を肌につけるものの中になるべく入れないほうがいいという理由です。
香水も同じです。
酸化して皮膚に焼きついたら茶色のしみになります。


いろいろありますが、アロマオイルなどは肌にはどんな低濃度であっても
絶対に入れないほうが 失敗はないです。

Q文字コード判別・変換について(JIS⇒UTF-8)

あるサーバからのXMLファイルを、HTMLファイルへ加工するプログラムを作成しています。
INPUTのXMLファイルが仕様により、UTF-8、S-JIS、JIS、ISO-8859-1が同一ファイル内で混ざった状態で送られてくるのですが、(1)入力文字のコードを判別できる関数(もしくはプログラム)、(2)JIS⇒UTF-8文字列変換関数(もしくはプログラム)について、ご教授下さい。
【環境】
OS:WindowsXP
言語:VBS(又はPerl)

Aベストアンサー

Perlのバージョンが5.8.xであるなら、
Encode::Guess が使えると思います。ただし、ISO-8859-1もありうるということなので
正しく判定できるかどうかは保証できません。

参考URL:http://www.kt.rim.or.jp/~kbk/perl-5.8/guess.html

Q100均

されど100均 たかが100均。それとも、たかが100均。されど100均?

貴方にとって、これは充分元が取れたと感じた100均商品をお教え下さい。

Aベストアンサー

三菱やマクセル等の日本ブランドボタン電池。
 100均に登場するまで1個300円前後だったが、2個入り103円のを見つけたときは、思わず本当に日本のブランド製なのか、パッケージの裏表をじっくり確認した。

QWebプログラミングで文字コードがUTF-8である意味

最近では、結構色んなサイトで文字コードにUTF-8が利用されていますが、
EUC-JPでない理由はあるのでしょうか?
UTF-8であるメリット、EUC-JPであるデメリットが分かりません。

どなたがご教示下さい。

Aベストアンサー

Web と UTF-8 との結びつきは明確な理由があるので今後も増えて行くと思います。
EUC-JP は Web サーバに UNIX を使っていたからってだけの理由だと思います。

ツール側の都合で言えば、HTML のデザイン(またはコーディング)ツールが XML や XHTML を扱う機能を必須としてきたため、必然的に UTF-8 を扱えるようになった。
さらに、UTF-8 で書かれたソース側から言えば、多国籍企業の場合、各言語用のサイトで同じテンプレートを使いまわしすることができます。
表示する文字の部分だけを、ターゲットとする言語圏の文字に置き換えれば済んじゃいます。

Q100均のイヤホンについて(できるだけ詳しく)☆

もちろんイヤホンはちゃんとしたのがいいですが、最近100均のイヤホンが気になります!!

もちろん100均なので、音質など贅沢には言えませんが、100均のイヤホンを使ってみて『良いところ、悪いところ、オススメ』のイヤホンあったら詳しく教えてくださいm(u_u)m

Aベストアンサー

IF-003がいいよ、と型番示しても

100均は店によって取り扱い品目が違うし
同じ系列の店でも地域によって取り扱い品目が違いますから
時期によって取り扱い品目が変わるし

ここでよい悪いを示してもそれをあなたが入手できるかどうか判らないのであれこれ聞くのは
意味がありません。

良いものに当たれば良い、悪いものに当たれば悪いです

QUTF8からUnicode(コードポイント)へ変換

UTF-8の文字コードをUnicode(コードポイント)へ変換させたいのですが、参考URLの情報のように計算式を知りたいです

例えば下の「あ」は、16進では「E38182」、10進では「14909826」ですが、どちらかの値を利用してUnicodeのポイントコード「12354」を計算式を用いて求めたいです。

「あ」
Unicode = 12354
16進 = E38182
10進 = 14909826


参考
http://questionbox.jp.msn.com/qa500194.html

Aベストアンサー

どこまでを「通常」と言っていいのでしょうか?
いわゆる四則演算で求めるのは
「割り算。小数以下切り捨て」
「割り算の余り」
が必要になります。

0xE3 ÷ 0x10 = 0xE 余り 0x03 → この余りが 図中の4bit yyyy に相当
→ これが15~12位に収まるので 0x03 * 2^12
0x81 ÷ 0x40 = 0x2 余り 0x01 → この余りが 図中の6bit yxxxxx に相当
→ これが11~6位に収まるので 0x02 * 2^6
0x82 ÷ 0x40 = 0x2 余り 0x02 → この余りが 図中の6bit xxxxxx に相当
→ これが5~0位に収まるので 0x01 * 2^0
全部合計したものが、Unicodeポイント


また、値によって場合分けが必要です。
バイト長が一定では無いからです。



参考URLにあるものは、Unicodeを10進で表記したか、16進で表記したかの違いなので、単純な式で書けるだけです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング