ExcelのデフォルトのエンコーディングをUTF-8に変更しますか?


24

さまざまなツールを使用して、Web用のデータを定期的に準備しています。1つの段階では、ExcelでCSVを開き、変更を加えてファイルを保存する必要があります。

ExcelにUTF-8エンコーディングを受け入れさせ、そのエンコーディングでファイルを保存する方法はありますか?


1
明確にするために、Excelがデフォルトで入力ファイルがUTF-8であると想定するように設定を変更したいと思います。以下に述べるように、LibreOffice / OpenOfficeはこれを行います。
ディズリー

実際に処理するUnicode文字がない場合は、ミドルウェアを使用してすべてのCSVをASCIIに変換してからExcelで開くことを検討します。
ヴァッシル

1
ここに関連する質問ですが、まったく同じではありません。
hhh

回答:


14

Excelテキストウィザードのデフォルトの文字エンコーディングで同様の質問に答えましたか?

私の答えは、Excelのデフォルトのテキストインポート元タイプの変更で見つかりました。

  1. レジストリエディターで、HKEY_CURRENT_USER> Software> Microsoft> Office> [Excelのバージョン-このフォルダー内で最も高い番号の可能性が高い]> Excel> Optionsに移動します。
  2. 右側を右クリックして、「新規」>「DWORD」に移動します
  3. アイテムにDefaultCPGという名前を付けて保存します
  4. DefaultCPGを右クリックして、変更を選択します
  5. 基数を10進数に設定します
  6. Excelウィザードに表示されるコードを入力します(UTF-8の場合、65001です)
  7. OKをクリックします。

Vasilleがこの質問に対するコメントで述べているように、ファイルが実際にUTF-8形式でない場合、Excelで開く前に、ファイル内の文字を希望するエンコードに技術的に変換することができます。ただし、私の目的では、UTF-8は破損していない文字を表示するのに十分な役割を果たします。


3
これをしない理由はありますか?これがExcelのデフォルトの動作ではないのはなぜですか?---私のチームは多くの場合、外国人のキャラクターを含むデータセットを扱いますが、各マシンでこのアクションを実行しない理由があるのではないかと考えています。
user1318135

3
残念ながら、これは私のマシンでは動作しませんでした。ファイルはデフォルトのエンコードで引き続き開きます(Win 7、Office 2016)。
user1318135

8
、10勝のOffice 2016も地雷では動作しません
PhuahイーKeat

2
サイコロなし。Excelは、これまでと同じように愚かに動作します。Excelのような成熟したソフトウェアのユーザー設定を介して、このような明らかな機能にアクセスできることが期待されます。
アーロンブラムソン

4

Excel ANSIエンコーディングをUTF-8に変更する簡単な方法の1つは、メモ帳で.csvファイルを開き、[ファイル]> [名前を付けて保存]を選択することです。一番下に、エンコーディングがANSIに設定されてUTF-8に変更され、ファイルを新しいファイルとして保存してから完了したことがわかります。


これを試してみます。私が抱えている問題の1つは、正しいエンコーディングでファイルを一貫して開くことです。そのため、1つの結果ファイルで2つのエンコーディングのデータを取得できません。その後、修正が難しくなります。Excelが入力ファイルのエンコードを選択するより良い方法を許可してくれることを本当に願っています。
ディズリー

3

Microsoft Officeソフトウェアにはバイトオーダーマークが必要なようです。

  1. Notepad ++を使用して、[エンコード]-> [UTF8-BOMに変換]メニューを使用してCSVを変換します。

  2. 使い方sedで利用可能なUnixのユーティリティ、cmderまたはWindows用のGitをUTF-8ファイルへのBOMの追加を参照してください。

    sed -i '1s/^/\xef\xbb\xbf/' file.csv
    

  • Excel 2016でテスト済み
  • これがavwtpの回答の意味です。

2

File > Importオプションを使用し、空のドキュメントから始めて指定する必要がありますUTF-8

ここに画像の説明を入力してください

ただし、これをすべてのファイルのデフォルト設定にするのには最適とは言えません。とにかく、GoogleドライブやLibreOfficeを中心にファイルを回転させる必要はありません。デフォルトは不適切に選択されているだけであり、変更ができないことはいらいらさせられます。

関連する

  1. Excelを開くときに文字エンコードを設定する方法で、OSXでMacintosh形式ではなくUTF-8ですべてのファイルが自動的に開かれるようにデフォルトを変更するオプションが見つからない

  2. Apple.SEのMacintoshファイルオプションからデフォルトファイルオプションをUTF-8に変更する方法


0

以前に同様の問題を解決しました。失敗しましたが、デフォルトではUTF-8であるLibreOfficeを使用できます。


LibreOfficeはこれに非常に便利です。ただし、実行するVBAマクロがある場合があります。リューザーに感謝
ディズリー

0

UnicodeのCSVファイルを操作するのに役立つExcelアドインがここにあります。

開発者Jaimon Mathewのメモは次のとおりです。

Excelは.csvファイルをテキストファイルとして扱い、通常の保存時にすべてのUnicode文字を「?」に置き換えます。Unicode文字を保持する場合は、タブ区切りファイルである「Unicodeテキスト(* .txt)」としてファイルを保存する必要があります。Unicode文字をCSV形式で保存する既存のソリューションが見つからなかったので、Excelアドインを作成してそれを行うために試してみようと思いました。

1


0

これは最善の解決策ではありませんが、オプションです。ExcelファイルをGoogleドライブにアップロードし、Googleタブで開いて、csvファイルとしてダウンロードします。それは私のために働いた。


5
これは、Excelドキュメントのエンコーディングを変更する方法の質問には答えません。
ラムハウンド

もちろん、ExcelでCSVを開くと、セルの書式設定が失われるため、一部の数値ID文字列は整数に変換されます。
ディズリー

0

UNIXシェル(Cygwin)が利用可能であると仮定して、csvファイルの前に3文字の小さなUnicode ID(UTF-8)を追加し、Excelで問題なく読み取り、さらに重要なこととして、VB Excelを使用して入力として適切に処理されますオートメーション。

UTF-8.txt

EFBBBF << 3文字のファイルへの16進編集。

cat UTF-8.txt file-to-use.csv> new_file.csv


1
(1)これがどのように/なぜ機能するかを説明できますか?(2)このファイルの作成方法を正確に説明できUTF-8.txtますか?
スコット

16進エディターを使用して、3文字のシーケンスを入力することをお勧めします。なぜ機能するのか、わかりません。既存のUTF-8 csvファイルを取得し、txtに名前を変更し、Excelにインポートして(他のスレッドで推奨されているように)、Unicodeプラグイン(他のスレッド)でCSVとして保存し、バイナリdiffを実行することで、このソリューションを見つけました2つのファイルの。唯一の違いは、3文字の開始シーケンスです。
-avwtp

このスレッドをご覧ください[リンク](stackoverflow.com/questions/6002256/…
avwtp
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.