<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>UTF-8 アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<atom:link href="https://nyanblog2222.com/tag/utf-8/feed/" rel="self" type="application/rss+xml" />
	<link>https://nyanblog2222.com/tag/utf-8/</link>
	<description>ちょっとしたことを調べているよ</description>
	<lastBuildDate>Fri, 19 Aug 2022 08:54:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://nyanblog2222.com/wp-content/uploads/2021/09/cropped-favicon-32x32.png</url>
	<title>UTF-8 アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<link>https://nyanblog2222.com/tag/utf-8/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>【ファイル】UTF-8のBOM付き、BOM無しの違い・確認・作成について</title>
		<link>https://nyanblog2222.com/windows/4659/</link>
					<comments>https://nyanblog2222.com/windows/4659/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 15 Jul 2022 08:03:28 +0000</pubDate>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[Web全般]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[BOM付き]]></category>
		<category><![CDATA[BOM無し]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[UTF-8]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4659</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/49.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/49.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />CSVファイルをExcelで確認すると文字化けすることはありませんか。それは文字コードがUTF-8のBOM無しで作成されているからかもしれません。 UTF-8とは文字コードの一種です。本記事ではUTF-8、UTF-16等 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/4659/">【ファイル】UTF-8のBOM付き、BOM無しの違い・確認・作成について</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/49.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/49.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>CSVファイルをExcelで確認すると文字化けすることはありませんか。<br>それは文字コードがUTF-8のBOM無しで作成されているからかもしれません。</p>



<p>UTF-8とは文字コードの一種です。<br>本記事ではUTF-8、UTF-16等のファイルでBOM付き、BOM無しの違い、BOM有無の確認方法、作成方法についてご紹介させていただきます♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">BOM付き、無しの違いについて</a><ol><li><a href="#toc2" tabindex="0">UnicodeとUTF-8、UTF-16、UTF-32とは</a></li><li><a href="#toc3" tabindex="0">BOMとは</a></li></ol></li><li><a href="#toc4" tabindex="0">ファイルのBOM確認方法</a><ol><li><a href="#toc5" tabindex="0">メモ帳での確認方法</a></li><li><a href="#toc6" tabindex="0">バイナリエディタでの確認方法</a></li></ol></li><li><a href="#toc7" tabindex="0">BOM付き、BOM無しのファイルの作成方法</a><ol><li><a href="#toc8" tabindex="0">メモ帳での作成方法</a></li><li><a href="#toc9" tabindex="0">補足</a></li></ol></li><li><a href="#toc10" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">BOM付き、無しの違いについて</span></h2>



<p>まずBOMの話を進める前にUnicodeとUTF-8、UTF-16、UTF-32の話を少しします。</p>



<h3 class="wp-block-heading"><span id="toc2">UnicodeとUTF-8、UTF-16、UTF-32とは</span></h3>



<p>ここでは簡単に話をしますが、</p>



<p>Unicodeとは<span class="marker-under">世界中の様々な文字を集めた定義（<strong>符号化文字集合</strong>）</span>のことです。</p>



<p>UTF-8、UTF-16、UTF-32は<span class="marker-under">Unicodeを符号化して文字コード（<strong>符号化方式</strong>）</span>が設定された状態です。<br>要は番号が振られています。この番号の振り方が異なるのでUTF-8、UTF-16、UTF-32があります。</p>



<p>また、UTF-16とUTF-32にはコンピュータの構造によって<a rel="noopener" href="https://e-words.jp/w/%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3.html" target="_blank">エンディアン（バイトオーダー）</a>方式が異なります。</p>



<h3 class="wp-block-heading"><span id="toc3">BOMとは</span></h3>



<p>BOMの説明に戻りますが、BOMというのは<span class="marker-under">バイトオーダーマーク（byte order mark）</span>といい、ファイルの先頭に付与されます。<br>※ メモ帳等のテキストエディタで開いて<span class="marker-under-red">目視で確認することはできません</span>。</p>



<p>このBOMの値を見てUTF-16、UTF-32エンディアンを判定します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>…ん？ということはもしかしてUTF-8にはBOMは必要ない？</p>
</div></div>



<p>UTF-8はエンディアン方式の違いはないので本来BOMは必要ありません。</p>



<p>しかし、アプリ（プログラム）によっては文字コードをUTF-8と判断できず、文字化け等の不具合を起こすことがあります。<br>※ Microsoftのアプリ（Excel、メモ帳）で多い</p>



<p>また逆にBOM付きを想定されていないアプリ（プログラム）では、不具合を起こす場合があります。<br>※ Webページの開発で使われるhtmlやPHPではBOM無しでないと動作しない場合がある</p>



<p>そのため、<span class="marker-under">UTF-8ではBOM付き、BOM無しのファイルが存在</span>します。</p>



<h2 class="wp-block-heading"><span id="toc4">ファイルのBOM確認方法</span></h2>



<p>ここではBOM有無の確認方法についてご紹介します。</p>



<p>Windowsに標準で入っているメモ帳で確認するのが一番簡単です。</p>



<h3 class="wp-block-heading"><span id="toc5">メモ帳での確認方法</span></h3>



<p>ファイルをメモ帳で開いたときに右下に文字コードが表示されます。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="398" src="https://nyanblog2222.com/wp-content/uploads/2022/07/image01-1024x398.png" alt="" class="wp-image-4662" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/image01-1024x398.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/07/image01-300x117.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/image01-768x298.png 768w, https://nyanblog2222.com/wp-content/uploads/2022/07/image01.png 800w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>ただし、Windowsのバージョンによっては保存することで<span class="marker-under">自動的にBOM付きのファイルで上書き保存してしまうことがある</span>ので注意が必要です。</p>



<p>※ サクラエディタやTeraPadなど他のテキストエディタでも確認できるものもありますので、確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc6">バイナリエディタでの確認方法</span></h3>



<p>正直バイナリエディタで確認する必要はありませんが、どうしても文字コードを見て確認したい場合はバイナリエディタでBOMを確認することができます。</p>



<p>バイナリエディタでファイルを開き、<span class="marker-under">先頭バイトが「EF BB BF」が付いているとBOM付き</span>ファイルであることを確認できます。</p>



<p>画像ではフリーソフトの「Stirling」を使っています。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="800" height="480" src="https://nyanblog2222.com/wp-content/uploads/2022/07/image03.png" alt="" class="wp-image-4663" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/image03.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/image03-300x180.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/image03-768x461.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<h2 class="wp-block-heading"><span id="toc7">BOM付き、BOM無しのファイルの作成方法</span></h2>



<h3 class="wp-block-heading"><span id="toc8">メモ帳での作成方法</span></h3>



<p>メモ帳で「ファイル」→「名前を付けて保存」で画像の画面が表示されるので、画像下部の「エンコード」クリックで</p>



<p>・UTF-8<br>・UTF-8(BOM付き)</p>



<p>を選ぶことでBOM付き、BOM無しのファイルを作成することができます。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="577" src="https://nyanblog2222.com/wp-content/uploads/2022/07/image04.png" alt="" class="wp-image-4664" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/image04.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/image04-300x216.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/image04-768x554.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>※ サクラエディタやTeraPadなど他のテキストエディタでも作成できるものもありますので、確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc9">補足</span></h3>



<p>先ほど少し出てきましたが、<span class="marker-under">MicrosoftのExcelではBOM無しでは文字化け</span>してしまいます。</p>



<p>そのため、ファイルをExcelファイルで開いたとき、<span class="marker-under">文字化けが起こっている場合はBOM無しであることを疑って</span>みてください。<br>※ ただし半角文字の場合、文字化けを起こさないこともあるので<br>　文字化けが起こらない ＝ BOM付き とは限らないので注意してください。</p>



<p>※ 別記事でExcelでBOM付きファイルを開く方法をご紹介する予定です。</p>



<h2 class="wp-block-heading"><span id="toc10">まとめ</span></h2>



<p>本記事ではUTF-8のファイルについての説明、BOM付き・BOM無しの確認や作成方法をご紹介しました。</p>



<p>アプリによってBOM付き、無しで動く、動かないが異なるので統一されるとファイルが扱いやすくなって良いですね！</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/4659/">【ファイル】UTF-8のBOM付き、BOM無しの違い・確認・作成について</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/windows/4659/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【VBA】Shift-JIS・UTF-8等、各種文字コードのファイル読み込み【コピペで使えるサンプル付き】</title>
		<link>https://nyanblog2222.com/programming/2291/</link>
					<comments>https://nyanblog2222.com/programming/2291/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 06 Sep 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Shift-JIS]]></category>
		<category><![CDATA[UTF-8]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[ファイル読み込み]]></category>
		<category><![CDATA[文字コード]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2291</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/35.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/35.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はAccess等で使われるVBAで、Shift-JIS（SJIS）・UTF-8等、各種文字コードのファイルを読み込む方法を紹介します。内容としては、OpenステートメントやADODB.Streamを使った手法です。自 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/2291/">【VBA】Shift-JIS・UTF-8等、各種文字コードのファイル読み込み【コピペで使えるサンプル付き】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/35.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/35.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はAccess等で使われるVBAで、Shift-JIS（SJIS）・UTF-8等、各種文字コードのファイルを読み込む方法を紹介します。<br>内容としては、OpenステートメントやADODB.Streamを使った手法です。<br>自作関数のサンプルもつけてますので、是非ご活用ください！<br>また、同時にダイアログを開いて対象のファイル名を取得する方法も紹介してますので、良かったらそちらもどうぞ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">紹介する手法</a></li><li><a href="#toc2" tabindex="0">共通で使っているテストデータやサブ関数</a><ol><li><a href="#toc3" tabindex="0">テストデータ</a></li><li><a href="#toc4" tabindex="0">（サブ関数）ダイアログを開いて対象のファイル名を取得する</a></li></ol></li><li><a href="#toc5" tabindex="0">Openステートメントでcsvファイル読み込み（Shift-JISのみ可）</a></li><li><a href="#toc6" tabindex="0">ADODB.Streamでcsvファイルを読み込む（UTF-8、Shift-JIS他）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">紹介する手法</span></h2>



<p>まず、本記事の簡単なまとめから♪</p>



<figure class="wp-block-table"><table><tbody><tr><td>・Openステートメント<br>　Shift-JISのみ<br>・ADODB.Stream　←　☆汎用性があるため個人的にはおすすめ<br>　Shift-JIS・UTF-8他</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc2">共通で使っているテストデータやサブ関数</span></h2>



<p>説明の際に使用するテストデータや、自作関数の中で呼び出しているサブ関数です。<br>本記事とは内容が離れますので、飛ばしてもらっても大丈夫です。</p>



<h3 class="wp-block-heading"><span id="toc3">テストデータ</span></h3>



<p>今回テストとして読み込むcsvファイルは以下を使用します。<br>（同じ内容で文字コードがShift-JIS・UTF-8のデータを用意）</p>



<pre class="wp-block-code"><code>No	郵便番号	住所	名前
1	859-5326	東京都春日井市向谷町１－６５	ヤマモトコーポレーション株式会社
2	987-2523	千葉県向田市山本町６５８－４４	華井　譲
3	789-0001	千葉県向田市山本町　ジンダ－ビル２F　２０１号	蓮田不動産株式会社
4	653-6567	大阪府大東市浅田８－９９９	株式会社ハッターフ
5	198-3463	鹿児島県薩摩川内市浜本１２３－７７	山本　茂</code></pre>



<h3 class="wp-block-heading"><span id="toc4">（サブ関数）ダイアログを開いて対象のファイル名を取得する</span></h3>



<p>ダイアログを開いて対象のファイル名を取得するサブ関数を用意しました。<br>直接ファイルパスを次項から紹介する関数のコード上に書いてしまっても良かったのですが、それではコピペして使いにくいので。。</p>



<p>内容としては、GetFileName_csvを呼び出すと、ダイアログを開いてcsvファイルのファイル名を取得し、戻り値として返す関数になります。</p>



<pre class="wp-block-code"><code>' GetFileName_csv
' csvファイル名を取得
Function GetFileName_csv()

    'ダイアログを開いてcsvファイルのファイル名を取得
    'Application.FileDialogを使うには、
    '参照設定でMicrosoft Office 1X.0 Object Libraryの追加が必要
    With Application.FileDialog(msoFileDialogOpen)
        .Filters.Clear
        .Filters.Add "csvファイル", "*.csv"
        .AllowMultiSelect = False
        If .Show = True Then
            GetFileName_csv = .SelectedItems(1)
        End If
    End With

End Function</code></pre>



<h2 class="wp-block-heading"><span id="toc5">Openステートメントでcsvファイル読み込み（Shift-JISのみ可）</span></h2>



<p>Openステートメントで、csvファイルを読み込む方法です。<br>Openステートメントでは、文字コードに合わせて対応していくことができないので、Accessのデフォルトの文字コードであるShift-JISでしか正しく読み取りできません。</p>



<p>以下、Openステートメントを使用したcsvファイル読込関数関数です。</p>



<pre class="wp-block-code"><code>' ReadCSVFile_Open
' csvファイル読込関数（Openステートメントを使用）
Sub ReadCSVFile_Open()
    
    'ファイル名取得
    Dim sOpenFileName As String
    sOpenFileName = GetFileName_csv
    If sOpenFileName = "" Then Exit Sub

    'ファイルを読み込んでイミディエイトウィンドウに内容を表示する
    Dim sBuf  As String
    Open sOpenFileName For Input As #1 'ファイルを開いて&#91;#1]という番号で管理
    Do Until EOF(1)
       Line Input #1, sBuf '1行づつバッファへ格納
       Debug.Print sBuf
    Loop
    Close #1
    
End Sub</code></pre>



<p>こちらの関数を使用して、Shift-JISのファイルを読み込んだ結果はこちらです。</p>



<p>ファイル名：SJIS.csv</p>



<pre class="wp-block-code"><code>No  郵便番号    住所    名前
1   859-5326    東京都春日井市向谷町１－６５    ヤマモトコーポレーション株式会社
2   987-2523    千葉県向田市山本町６５８－４４  華井　譲
3   789-0001    千葉県向田市山本町　ジンダ－ビル２F　２０１号   蓮田不動産株式会社
4   653-6567    大阪府大東市浅田８－９９９  株式会社ハッターフ
5   198-3463    鹿児島県薩摩川内市浜本１２３－７７  山本　茂</code></pre>



<p>正確に読み取れてますね。</p>



<p>試しにこの関数を使って、UTF-8も読み取ってみました。</p>



<p>ファイル名：UTF-8.csv</p>



<pre class="wp-block-code"><code>No  驛ｵ萓ｿ逡ｪ蜿ｷ    菴乗園  蜷榊燕
1   859-5326    譚ｱ莠ｬ驛ｽ譏･譌･莠募ｸょ髄隹ｷ逕ｺ・托ｼ搾ｼ厄ｼ・繝､繝槭Δ繝医さ繝ｼ繝昴Ξ繝ｼ繧ｷ繝ｧ繝ｳ譬ｪ蠑丈ｼ夂､ｾ
2   987-2523    蜊・痩逵悟髄逕ｰ蟶ょｱｱ譛ｬ逕ｺ・厄ｼ包ｼ假ｼ搾ｼ費ｼ・闖ｯ莠輔隴ｲ
3   789-0001    蜊・痩逵悟髄逕ｰ蟶ょｱｱ譛ｬ逕ｺ縲繧ｸ繝ｳ繝・阪ン繝ｫ・巽縲・抵ｼ撰ｼ大捷 闢ｮ逕ｰ荳榊虚逕｣譬ｪ蠑丈ｼ夂､ｾ
4   653-6567    螟ｧ髦ｪ蠎懷､ｧ譚ｱ蟶よｵ・伐・假ｼ搾ｼ呻ｼ呻ｼ・譬ｪ蠑丈ｼ夂､ｾ繝上ャ繧ｿ繝ｼ繝・
5   198-3463    鮖ｿ蜈仙ｳｶ逵瑚湊鞫ｩ蟾晏・蟶よｵ懈悽・托ｼ抵ｼ難ｼ搾ｼ暦ｼ・螻ｱ譛ｬ縲闌・</code></pre>



<p>全角が化けてしまっていますね。<br>前述のとおり、UTF-8を含む他の文字コードには対応していませんので、読み取る必要があれば次項をお使いください。</p>



<h2 class="wp-block-heading"><span id="toc6">ADODB.Streamでcsvファイルを読み込む（UTF-8、Shift-JIS他）</span></h2>



<p>ADODB.Streamで、csvファイルを読み込む方法です。<br>ADODB.Streamでは、UTF-8、Shift-JISを含む各種文字コードに対応しています。</p>



<p>以下、Openステートメントを使用したcsvファイル読込関数関数です。</p>



<pre class="wp-block-code"><code>' ReadCSVFile_ADODB
' csvファイル読込関数（ADODB.Streamを使用）
Sub ReadCSVFile_ADODB()
    
    'ファイル名取得
    Dim sOpenFileName As String
    sOpenFileName = GetFileName_csv
    If sOpenFileName = "" Then Exit Sub

    'ファイルを読み込んでイミディエイトウィンドウに内容を表示する
    Dim sBuf  As String
    With CreateObject("ADODB.Stream")
       .Charset = "UTF-8" 'SJISの場合、"shift_jis"
       .Open
       .LoadFromFile sOpenFileName
        Do Until .EOS
           sBuf = .ReadText(-2) '1行づつバッファへ格納
           Debug.Print sBuf
        Loop
       .Close
    End With
    
End Sub</code></pre>



<p>なお、上記関数をそのままコピペすると、UTF-8に対応した関数になります。<br>shift_jisに対応させる場合、</p>



<pre class="wp-block-code"><code>.Charset = "UTF-8"</code></pre>



<p>の部分を、</p>



<pre class="wp-block-code"><code>.Charset = "shift_jis"</code></pre>



<p>に書き換えてください。</p>



<p>その他、UTF-8、Shift-JIS以外の文字コードで読み取る場合は、<br>「レジストリエディタ」の「HKEY_CLASSES_ROOT\MIME\Database\Charset」から確認してください。<br>レジストリエディタは、<br>「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、「regedit」と入力してエンターを押すと開くことができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="634" height="384" src="https://nyanblog2222.com/wp-content/uploads/2020/09/regedit_mojicd-min.png" alt="レジストリエディタ" class="wp-image-2305" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/regedit_mojicd-min.png 634w, https://nyanblog2222.com/wp-content/uploads/2020/09/regedit_mojicd-min-300x182.png 300w" sizes="auto, (max-width: 634px) 100vw, 634px" /></figure>



<p>それでは、まずshift_jisのファイルを読み込んでみました。</p>



<p>ファイル名：SJIS.csv</p>



<pre class="wp-block-code"><code>No  郵便番号    住所    名前
1   859-5326    東京都春日井市向谷町１－６５    ヤマモトコーポレーション株式会社
2   987-2523    千葉県向田市山本町６５８－４４  華井　譲
3   789-0001    千葉県向田市山本町　ジンダ－ビル２F　２０１号   蓮田不動産株式会社
4   653-6567    大阪府大東市浅田８－９９９  株式会社ハッターフ
5   198-3463    鹿児島県薩摩川内市浜本１２３－７７  山本　茂</code></pre>



<p>正確に読み取れてますね。</p>



<p>ファイル名：UTF-8.csv</p>



<pre class="wp-block-code"><code>No  郵便番号    住所    名前
1   859-5326    東京都春日井市向谷町１－６５    ヤマモトコーポレーション株式会社
2   987-2523    千葉県向田市山本町６５８－４４  華井　譲
3   789-0001    千葉県向田市山本町　ジンダ－ビル２F　２０１号   蓮田不動産株式会社
4   653-6567    大阪府大東市浅田８－９９９  株式会社ハッターフ
5   198-3463    鹿児島県薩摩川内市浜本１２３－７７  山本　茂</code></pre>



<p>こちらも、正しく読み取ることができました♪</p>



<p>以上、今回の記事が参考になれば幸いです。<br>関連として、もしUTF-8について知りたい！という方はこちらの記事もご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/4659/" title="【ファイル】UTF-8のBOM付き、BOM無しの違い・確認・作成について" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/49-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/49-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【ファイル】UTF-8のBOM付き、BOM無しの違い・確認・作成について</div><div class="blogcard-snippet internal-blogcard-snippet">CSVファイルをExcelで確認すると文字化けすることはありませんか。それは文字コードがUTF-8のBOM無しで作成されているからかもしれません。本記事ではUTF-8のBOM付き、BOM無しの違い、確認方法、作成方法についてご紹介しています。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.07.15</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/2291/">【VBA】Shift-JIS・UTF-8等、各種文字コードのファイル読み込み【コピペで使えるサンプル付き】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/2291/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
