質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

4回答

8249閲覧

mac用のExcelでcsvファイルを開くと、文字化けが発生する理由

searchprogram

総合スコア0

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2020/07/03 15:05

編集2020/07/03 15:09

質問内容
どうして、mac版Excelで、開いたときだけ、文字化けが発生するのでしょうか?
(windows版Excelやmac版の他のアプリで開いても、文字化けが発生しないにもかかわらずです。)
またcsvファイルはデフォルトではUTF-8なのではないのでしょうか。

お忙しいところ恐縮ですが、
ご回答よろしくお願いいたします。

前提
CSVの文字コードは「UTF-8」だが、Excelではデフォルトで、「Shift-JIS」で解釈する
→文字コードの違いによって文字化けが発生する。
とあるサイトには書かれていました。
参考URL:https://fr-strategy.jp/mac-pc/mac-csv-text-garbling/

●上記の理由の矛盾点
mac版Excel
miエディタでは、csvは、「Shift-JIS」であって、「UTF-8」では無かった。
よって、csv自体の文字コードとExcelがデフォルトで解釈してしまう文字コードが同じ(どちらも「Shift-JIS」)なので、文字化けが起こることはありえない。
しかしながら、実際の問題として文字化けは起こってしまう。(しかもexcelだけである。miエディタでは文字化けは発生しないし、Numbers.appでも文字化けは発生しない。)
←これが納得できない。(これが、質問したいことです。)

windows版Excel
csvはShift-JISであり、ExcelもShift-JISなので文字コードは同じ。
windows版Excelに至っては、文字化けは発生しない。
←これは納得できる。

mac版Excelの文字化け
●環境
macOS Catalina 10.15.5
Microsoft 365 PersonalのExcelソフト
(Microsoft Excel for Mac Version 16.38)

クレジットカードの明細をcsv形式でダウンロード出来るボタンがあったので、
ボタンを押して、csv形式でダウンロードしました。

そうすると、以下のように文字化けが発生しました。

イメージ説明

上記のボタンをクリックする。

miエディタで開いたもの
イメージ説明

文字コード:Shift_JIS ※csvなのにUTF-8ではなく、Shift-JISである。

Excelで開いたもの
イメージ説明
←文字コード:Shift-JISなのに、excelで開くと文字化けが発生する。
※excelでは、デフォルトではShift-JISで判断されるはずであるから文字化けは起きないと思われる。

●ターミナルから実施
file 202007.csv > ../file1

202007.csv: Non-ISO extended-ASCII text, with CRLF, NEL line terminators

Non-ISO extended-ASCII text, with CRLF
→Non-ISO extended-ASCII textとなっていることから、Shift_JISであることが分かる。
参照URL:https://qiita.com/yu-tachibana/items/f26388bc9a505101afd0


windows版Excelの文字化け(★発生しない)
●環境
OS: microsoft windows 10 home
バージョン:10.0.18363 ビルド 18363
Excel 2016

イメージ説明

クリックする ダウンロードしたcsvファイルをExcelで見る。 ![イメージ説明](d6cc0cbe2213bb334c022651fb3421a6.png) ←文字化けが発生しない。 コマンドプロンプト上で、「chcp」と打ち込んだ結果 ![イメージ説明](3064c10dbbb8a870a1d6f16e6c018727.png) ←プロンプト上の標準文字コードは「UTF-8」※プロンプト上の文字コードを自身で変えました。 typeコマンドを打ち込んだ結果 ![イメージ説明](6613fac66bdce44c9246c02fdb5c7be1.png) ![イメージ説明](f287f0c80c881de6091e9b17f4e6c345.png) ←プロンプト上はUTF-8が指定されているが、該当csvファイルはShift-JISなので、文字化けが発生する。 サクラエディタでcsvファイルを見た結果 ![イメージ説明](76388c237390c14e89a0ee9281dce2d1.png) SJISである windows環境では、csvファイルを開いても、文字化けが起きない。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

CSVファイルは「カンマ区切りのプレーンテキスト」なので、エンコーディングについて何か規定があるわけではありません。UTF-8でもShift_JISでもEUC-JPでもUTF-16LEでも、カンマ区切りのテキストならCSVです。

WindowsでもMacでも、ExcelでCSVファイルを扱うときには、csvファイルをダブルクリックしてExcelを開くのではなく、Excelを起動しておいて、「データ」タブの「テキストまたはCSVから」ボタンを押して、ダイアログからcsvファイルを選んでください。
そうすれば、Power Query (設定次第ではテキストファイルウィザード)が起動して、エンコードを指定できる(文字化けを解消できる)画面からデータをインポートできます。自動判定では満足できないデータ種別の変更や不要な列の削除なども行なうことができます。

投稿2020/07/03 15:35

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

searchprogram

2020/07/08 23:51

csvを読み込んだ時に、デフォルトでUTF-8で読み込まれるのだと思っていました。 特にそういった、決まり等がある訳ではなく、 csvとして、決まっていることは、 カンマ区切りのテキストであるということぐらいなのですね。 誤った認識をしておりました。 認識を正してくださりありがとうございました。
guest

0

>1.文字化けの理由
手元にmacがない(触ったこともない)のですが・・・。
Windowsでは、Excelを開いて
ファイル -> オプション -> 言語 で
「編集言語の選択」の規定の言語が日本語になっていないと、
「Excelではデフォルトで、「Shift-JIS」で解釈する」ではなくなるので、
SJISファイルが文字化けします。mac環境での上記の設定を確認してみてください。

>2.csvファイルはデフォルトではUTF-8なのでは
特定のツールから出力されるcsvのデフォルトはUTF-8である、とか
グローバルなシステムではUTF-8が使われることが多い、とかはあるでしょうが、
「CSVファイルのデフォルトはUTF-8である」ということはないでしょう。

投稿2020/07/03 15:36

toyotaku

総合スコア103

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

searchprogram

2020/07/08 23:58

Mac版 ExcelのText Import Wizard画面でFile Originが、Macintoshになっておりました。 File OriginをJapanese(Mac OS)にしたところ、 文字化けが発生せずに日本語の入ったcsvファイルを開くことが出来ました。 csvファイルとして記述する際には、 文字コードがUTF-8でなければならないという規定があると思っていたのですが、 そういう訳ではないということですね。 認識を正すことができました。 ありがとうございます。
guest

0

Data→From Text→Get Data→Text Import Wizard画面

![イメージ説明](632dec570805e6762e3418db8d33de68.png)

File Originがデフォルトで、Macintoshになっていた。


なので、File OriginをMacintosh →Japanese(Mac OS)に変更

![イメージ説明](46bfeda28855535b9aca5fbdf3978f32.png)

→File OriginをJapanese(Mac OS)に変更することで、文字化けせずにcsvファイルを開くことができた。

では、なぜ、File Originがデフォルトで、Macintoshになっていたのか?
→システム環境設定→言語と地域→EnglishがPrimaryになっていたからだと考えられる。

![イメージ説明](58b93ebadb13608e8a09a8e043f42efd.png)

実際、言語と地域設定で、Primary言語に日本語を設定した場合、

![イメージ説明](4472986d936deff4466b6ce67484017c.png)

csvファイルをダブルクリックでそのまま開いても、文字化けが発生しなかった。
→どうしてか??
"Excelのソフトが、デフォルトで、
Origin Fileに、Japanese(Mac OS)を指定してくれているからである。"

イメージ説明

上記のcsvファイルをバイナリー形式で開いた(odコマンドを使用)ところ、やはり
Mac OS Roman(※a character encoding primarily used by the classic Mac OS to represent text)で文字が出力されていることが分かった。
(システム全体のprimary Language が英語で、MacのExcelのText Import Wizard画面のFile Origin がMacintoshの場合に実施した。)
(※参考URL:https://en.wikipedia.org/wiki/Mac_OS_Roman)

投稿2020/07/08 23:44

searchprogram

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

見慣れない文字化けだったので何かと思ったらShift_JISのファイルをMacRomanで読んでいますね。
Macは知りませんが、toyotakuさんの言う規定の言語や、OS自体の言語設定の影響、あるいはそもそもMacではこの挙動を変更できないなどが考えられます。

CSVの文字コードは「UTF-8」だが、

そんなことはありません。

Excelではデフォルトで、「Shift-JIS」で解釈する

WindowsかつBOM無しに限ってはそのような挙動に見えますが、明示された仕様としては知りません。前提に置くには弱いですね。

投稿2020/07/04 10:02

ikadzuchi

総合スコア3047

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

searchprogram

2020/07/09 00:10

csvファイルとして記述する際には、 文字コードがUTF-8でなければならないという規定があると思っていたのですが、 そういう訳ではないということですね。 また、『Excelではデフォルトで、「Shift-JIS」で解釈する』という認識も、 特にそういった規定が存在する訳ではないということですね。 貴方のおっしゃるように、 OSのPrimary Languageの設定とMac ExcelのFile Originの言語の設定が関係しておりました。 File Orginの言語がMacintoshになっていたのが文字化けの原因でした。 Japanese(Mac OS)に訂正したら、文字化けは解消しました。 実は、私のMac のOSのPrimary Languageが英語になっていたので、 ExcelのFile Originの言語がデフォルトでMacintoshになってしまっていました。 Mac のOSのPrimary Languageを日本語にしたところ、 ExcelのFile Originの言語がデフォルトでJapanese(Mac OS)になったので、 csvファイルを開いても文字化けが発生しなくなりました。 色々な知見を教えてくださり、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問