• ベストアンサー

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

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

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

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

そういうことなら、勉強してもいいでしょう。 > テキストエディタで開いてShift_JIS指定で保存はしたことがあるのですが、シフトJIS対応のカスタマーバーコード対応のCSV生成ソフトを使用すると文字化けが発生します。 これが本当にテキストエディタが原因かどうかは調べておいた方がよいでしょう。 例えば、UTF-8にしか無い文字をShift_JISにしようとした結果で発生したものなら、自作プログラムでも同じ文字化けが発生するでしょう。 > フリーソフトも考えたのですが、50万件のデータをしっかり加工したりするのに、動作不安定にならなければと思って質問しました。 失敗したくない気持ちもわかりますが..... これから勉強しようというあなたが作るのと、すでに多くの人が使って実績のあるフリーソフトと、どっちが安定しているか、ということは考えておいた方がよいでしょう。

yairi1106
質問者

お礼

アドバイスありがとうございます。 開発業者にプログラム開発依頼しました。 下記の条件を開発業者と打ち合わせして、問題が起きた場合 少しずつ打ち合わせして修正していければと思います。 システムで文字コード変換したのデータの特性は、文字コード=UTF-8のCSVです。(ただし、一部の文字は○○ホストの字形に合わせるため、ハングル領域に割り当てられているものがあり、これはホスト対応の外字メーカー特殊フォントでのみ表示可能。)このため、○○フォントおよび外字フォントがない環境でファイルを開いた場合、それらの文字は文字化けして表示されます。また、その状態でデータ加工・保存した場合、「加工に利用したアプリケーションが表示できない文字コードを勝手に?などに置き換えてしまう」といった想定外のデータ破損が発生するケースがあります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

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

質問への回答は「可能です」となりますが。 目的は「コード変換」と「プログラミングの勉強」のどちらでしょうか? 前者なら、別の方法を使った方がはるかに楽です。 テキストエディタで開いてShift_JIS指定で保存するとか http://www.vector.co.jp/vpack/filearea/win/util/text/conv/code/ ここにあるツールを使うとか

yairi1106
質問者

補足

目的は「コード変換」と「プログラミングの勉強」両方です。 プログラミングの勉強で今後プログラム加工したいし コード変換もしたいのです。 テキストエディタで開いてShift_JIS指定で保存はしたことが あるのですが、シフトJIS対応のカスタマーバーコード対応の CSV生成ソフトを使用すると文字化けが発生します。 フリーソフトも考えたのですが、50万件のデータをしっかり 加工したりするのに、動作不安定にならなければと思って 質問しました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • utf-8のCSVをshift_jisに変換したい

    Perl5.8でCSVをダウンロードできる仕組みをつくっています。 utf-8でコードを記述しているため当然ながらダウンロードしたCSVデータもutf-8です。 しかしながらエクセルでダブルクリックで開く場合どうしてもutf-8だと支障があるため、 shift-jis(もしくはcp932)で開きたいのです。 ダウンロード時に文字とファイルをshift_jisに変換する方法はございませんでしょうか? 以下作成済みのコード ------------------------------------------------------- if(!open(OUT,"$CSV_FILE")){&error('CSVデーターファイルがありません'); } else{ @csvdata=<OUT>; close(OUT); } foreach(@csvdata){ $downloaddata .= $_; } print "Content-Disposition: attachment; filename=$CSV_FILE_NAME\n\n"; print $downloaddata; exit; ------------------------------------------------------- 何卒よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • EXCELからCSVを作るときに文字コード変換

    sys-jisで作成したEXCELからCSVを作るときに文字コードをutf-8またはeuc-jpに自動変換できるようにすることは可能でしょうか。 あわせて、データが入っているセルには、””が自動で入れることは可能でしょうか。 その場合の方法について教えていただけないでしょうか。 よろしくお願いいたします。

  • 文字コードを相互変換するには?(JIS,SJIS,EUC,UTF-8,UTF-16,Unicode)

    現在、文字コード一覧を JavaScript を使って動的にリストを作成する事を行っています。 そこで質問します。 『JavaScript』では文字コードの相互変換する方法はありますか? ある場合は関数、メソッドとその使い方を簡単でいいので教えて下さい。 もし標準では出来ない場合は、どのようにすれば相互変換できるのかその方法を教えて下さい。 ●相互変換コード シフトJISコード←→JISコード シフトJISコード←→EUCコード シフトJISコード←→UTF-8 シフトJISコード←→UTF-16 シフトJISコード←→Unicode 最終的に上記の相互変換を考えています。 変換を繰り返すことで実現できると思っています。 以上。相互変換の方法をお願いします。→JavaScript 歴1.5ヵ月です。

  • CSVが文字コードUTF-8かどうかの判定

    かなりデータ量が多い(10万レコード超)CSVファイルが、100件近くあります。これをエクセルに取り込んで順次同じような作業をしようと思っています。とりあえずCSVを以下のコードで開いています。 Sub CSV入力4() 'クエリーテーブルを使ったCSV読み込みVBAコード Dim myFile As Variant myFile = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", Title:="CSVファイルの選択") If myFile = False Then Exit Sub End If ActiveSheet.Cells.Clear With ActiveSheet.QueryTables.Add(Connection:="text;" & myFile, Destination:=Range("A1")) ' .TextFilePlatform = 932 'Shift_Jis .TextFilePlatform = 65001 'UTF8 .TextFileCommaDelimiter = True .Refresh BackgroundQuery:=False .Delete End With MsgBox "読込完了" End Sub 問題は、CSVに拡張子で区別できないUTF-8のCSVファイルがあることです。事前にわかっていれば .TextFilePlatform = 932 'Shift_Jis .TextFilePlatform = 65001 'UTF8 の使い分けで対応できるのですが、開いてみて文字化けがあるかどうか調べないとわかりません。自動的に判定する方法はないでしょうか?

  • UTF8への変換について

    XMLをシフトJISで、作成しています。 このXMLから、XSLTを通して、UTF-8のHTMLを作成することは、 可能でしょうか? XSLTで、文字コードの変更は出来るのでしょうか? やはり、シフトJISのHTMLを作成した後で、UTF-8に変換する方法でしょうか?

    • ベストアンサー
    • XML
  • UTF-8で5~6バイトになる文字コード

    UnicodeのUTF-8で5~6バイトになる文字コードは、どのような場合でしょうか。(サロゲートペアのコードでも4バイトです。シフトJISから変換するとき、どのようなコードが5~6バイトに割り当てられるのでしょうか。) ご存知の方おられましたら、ご教示ください。

  • UTF-8からShift-JISへの文字コード変換について

    文字コードがUTF-8のファイルをShift-JISに変換する方法についてご存知の方がいらっしゃれば教えていただきたいです。 仕事上で、UTF-8のファイルをしばしば受領するのですが、Shift-JISに変換しないと、その後の処理ができない作業があり、今は秀丸で開いて、文字コードを変換して保存し直してます。 私以外のメンバも今後同じ作業を実施するようになり、引継ぎ手順書を作成しているのですが、ツール等を使わないWindows標準機能を用いた手順を要求され、どうすればいいかわからなくなって質問させていただきました。 よろしくお願い致します。

  • 文字コードの変換(Shift-JISからUTF8)

    文字コードがShift-JISのCSVファイルを読み込み、UTF-8のテキストファイルに出力するのに プログラムの中で変更しようとしているのですが、うまくいきません。出力ファイルの文字コードを 確認するとShift-JISのままです。 どなたか教えていただけないでしょうか? ActivePerl v5.16.0を使用し、Encodeモジュールのfrom_toを使用しています。 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; my $input_file="input.csv"; my $output_file="output.txt"; open (IN, $input_file) or die "$!"; open (OUT, ">$output_file") or die "$!"; while (<IN>){ chomp ($_); my @data=split(/,/,$_); for(my $i=0;$i<@data;$i++){ $data[$i]=Encode::from_to($data[$i],'shiftjis','utf8'); #Shift-JISからUTF-8に変換 $data[$i]=~s/\s+//g; print OUT $_; } print OUT "\n"; } close (IN); close (OUT);

    • ベストアンサー
    • Perl
  • 【VBA】保存したcsvファイルをメモ帳でUTFに変換する方法を教えてください。

    VBAの初心者です。 皆様のお力をお借りしたい次第です。 今私はデスクトップに保存したcsvファイルをUTFに変換し、 windowsメールでアドレスのインポートをしようとしていますが、 csvファイル自体をUTFに変換すると文字化けをしてしまうため、 メモ帳でUTFに変換→csv保存をしたいと思っております。 メモ帳をExcelから命令するにはどうしたらいいでしょうか? 以下はUTFに変換する際に使用させてもらったものです。 Dim JIS, UTF Set JIS = CreateObject("ADODB.Stream") JIS.Open JIS.Type = 2 JIS.Charset = "shift_jis" JIS.LoadFromFile "C:\~\JIS.csv" Set UTF = CreateObject("ADODB.Stream") UTF.Open UTF.Type = 2 UTF.Charset = "utf-8" JIS.CopyTo UTF UTF.SaveToFile "C:\~\UTF.csv", 2 JIS.Close Set JIS = Nothing UTF.Close Set UTF = Nothing

  • 文字コードshift-jisへの変換について

    お世話になります。 .NET C#にて開発をしております初心者です。 C#からテキストデータにデータの書き出しを行っており、 文字コードをUTF-8からSHIFT-JISへ変換したいのですが、 ネット等で確認し、記述したのですが、データの中には 半角カナ文字もあり、どうも変換がうまくいきません。 どなたかサンプルコードまたは、参考になるサイトなどを お教え頂きたく宜しくお願い致します。