Excel 2003 の CSV と 文字エンコーディング の関係

この記事は Excel 2003 の CSV と Unicode の関係 の改訂版です。
改訂前の記事に PASSJ 理事の河端善博さんから改訂に必要な情報をコメントして頂きました。
河端さん、ありがとうございました。

カンマ区切り、タブ区切りそれぞれのテキストファイルを Excel 2003 で開いたときの挙動をまとめました。

調査に使用したテキストファイルのエンコーディングは以下の5種です。

Shift_JIS(CP932) 形式
UTF-7 形式
UTF-8 形式 (BOM 有り・BOM 無し)
UTF-16 LE 形式 (BOM 有り・BOM 無し)
UTF-16 BE 形式 (BOM 有り・BOM 無し)

CSVファイルの改行方法は全て CR+LF です。
カンマ区切り、タブ区切り共に拡張子は csv としました。
文字に引用符は付けていません。

UTF-7, UTF-8, UTF-16 の各 Unicode ファイルには Shift_JIS には存在しない文字として ㎥(立方メートルの記号) を含めています。

----- Shift_JIS(CP932) と UTF-7 -----

カンマ区切りのファイルをダブルクリックして Excel 2003 で開いたとき

Shift_JIS : 区切り文字を自動で認識して問題なく開く。
UTF-7 : 区切り文字を認識して開く。文字化けする。

タブ区切りのファイルをダブルクリックして Excel 2003 で開いたとき

Shift_JIS : 開くが、区切り文字が認識されない。文字化けしない。
UTF-7 : 開くが区切り文字が認識されない。文字化けする。

カンマ区切りのファイルを Excel 2003 の[開く]メニューから開いたとき

Shift_JIS : 区切り文字を自動で認識して問題なく開く。
UTF-7 : 区切り文字を認識して開く。文字化けする。

タブ区切りのファイルを Excel 2003 の[開く]メニューから開いたとき

Shift_JIS : 開くが区切り文字が認識されない。文字化けしない。
UTF-7 : 開くが区切り文字が認識されない。文字化けする。

カンマ区切りのファイルを Excel 2003 の [外部データの取り込み]メニューから開いたとき

Shift_JIS : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。
UTF-7 : [テキスト ファイル ウィザード] が起動する。「65000 : Unicode (UTF-7)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。

タブ区切りのファイルを Excel 2003 の [外部データの取り込み]メニューから開いたとき

Shift_JIS : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。
UTF-7 : [テキスト ファイル ウィザード] が起動する。「65000 : Unicode (UTF-7)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。

----- Unicode BOM 有り -----

カンマ区切りのファイルをダブルクリックして Excel 2003 で開いたとき

UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 開くが区切り文字が認識されない。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。

タブ区切りのファイルをダブルクリックして Excel 2003 で開いたとき

UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 区切り文字を自動で認識して問題なく開く。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。

カンマ区切りのファイルを Excel 2003 の[開く]メニューから開いたとき

UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。

タブ区切りのファイルを Excel 2003 の[開く]メニューから開いたとき

UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。

カンマ区切りのファイルを Excel 2003 の [外部データの取り込み]メニューから開いたとき

UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「Windows (ANSI)」として認識される。文字化けする。

タブ区切りのファイルを Excel 2003 の [外部データの取り込み]メニューから開いたとき

UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「Windows (ANSI)」として認識される。文字化けする。

----- Unicode BOM 無し -----

カンマ区切りのファイルをダブルクリックして Excel 2003 で開いたとき

UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 「このファイル形式を認識できません。」というエラーが発生する。エラーを無視して開くと、区切り位置、内容共に目茶苦茶で開く。
UTF-16 BE : 「このファイル形式を認識できません。」というエラーが発生する。エラーを無視して開くと、区切り位置、内容共に目茶苦茶で開く。

タブ区切りのファイルをダブルクリックして Excel 2003 で開いたとき

UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 「このファイル形式を認識できません。」というエラーが発生する。エラーを無視して開くと、区切り位置、内容共に目茶苦茶で開く。
UTF-16 BE : 「このファイル形式を認識できません。」というエラーが発生する。エラーを無視して開くと、区切り位置、内容共に目茶苦茶で開く。

カンマ区切りのファイルを Excel 2003 の[開く]メニューから開いたとき

UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 「このファイル形式を認識できません。」というエラーが発生する。エラーを無視して開くと [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
UTF-16 BE : 「このファイル形式を認識できません。」というエラーが発生する。エラーを無視して開くと [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。

タブ区切りのファイルを Excel 2003 の[開く]メニューから開いたとき

UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 「このファイル形式を認識できません。」というエラーが発生する。エラーを無視して開くと [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
UTF-16 BE : 「このファイル形式を認識できません。」というエラーが発生する。エラーを無視して開くと [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。

カンマ区切りのファイルを Excel 2003 の [外部データの取り込み]メニューから開いたとき

UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。

タブ区切りのファイルを Excel 2003 の [外部データの取り込み]メニューから開いたとき

UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。

Published 月, 8 7 2006 15:30 by Ryosuke Uemoto
Filed under:

Comments

# re: Excel 2003 の CSV と 文字エンコーディング の関係

2007 だとどうなのでしょうか。もしアップデートありましたら教えて下さいませ。

2007年1月24日 16:06 by YamaKen

# re: Excel 2003 の CSV と 文字エンコーディング の関係

>>Yamakenさん

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

いつもブログで勉強させていただいております。

この記事、たしかに 2007 版があるといいですね。

近いうちにアップデートします。

2007年1月24日 18:04 by Ryosuke Uemoto

# Excel 2007 の CSV と 文字エンコーディング の関係

この記事は Excel 2003 の CSV と 文字エンコーディング の関係 の改訂版です。 改訂前の記事は Excel 2003 ベースですが、 YamaKen さんから Excel 2007 だとどうなるのかとの旨コメントを頂きました。

2007年1月25日 16:49 by Hello Another World!

# re: Excel 2003 の CSV と 文字エンコーディング の関係

> いつもブログで勉強させていただいております。

いや、最近数年はかなりアホな感じになってますので恐縮です。(汗

こちらこそ、たまにチェックさせて頂いて、理解を深めさせていただいております。_o_

2007年1月30日 14:01 by YamaKen

# 「Excel 2003 の CSV と 文字エンコーディング の関係」を静的サイトにまとめました

Excel 2003 の CSV と 文字エンコーディング の関係 で得た情報を静的サイトにまとめました。 Excel 2003 に様々な文字エンコーディングのテキストファイルを読み込ませる まとめる前の情報は読みにくさ大爆発でした。ご迷惑をおかけしました。

2007年2月1日 18:59 by Hello Another World!

# re: Excel 2003 の CSV と 文字エンコーディング の関係

excel 2003のテキスト ファイル ウィザードでは,

excelのセル内区切りのファイルが正しく読み込めませんでした。

○再現方法

1.excelでセル内改行の文章を作成

2.csvで保存

3.拡張子txtに変更してテキスト ファイル ウィザードで読み込ませる。

csvをテキスト ファイル ウィザードを通さずにダイレクトに読み込む場合と、内部のロジックが異なるようですね。

漢字コードの関係で、cp932ではなく、UTF-8のcsvファイルを作って読み込ませようとしたときに発見しました。

お手上げです。csv以外のファイル形式に逃げようかと考えてます。^^;

2009年3月1日 19:10 by ken