この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

久々の出会い

今日、人生で初VBAプログラミングをしました。


今日のお題は「Excelで作ったテストデータからSQLを自動生成する」だったのですが、
ターゲットデータベースのエンコーディングがUTF-8なので、生成するSQLUTF-8で出力してみました。


こちらを参考に、UTF-8でのファイル出力を実装。
生成したファイルをテキストファイルとして開いてみても、フツーのUTF-8ファイルとして認識されています。
よしよし。


では、いざSQLを実行!!

と思ったら一行目で早くもエラーが。
何やら「先頭行の最初の文字が変だ」と言われます。



うーむ、何なんだろう…と考えること1分。


ピーンときました。


「ああ、またヤツの仕業か…」



経験値の高い方でしたらお分かりでしょう。
そう、BOMの仕業だったのです。



結局、生成するファイルの1行目を空行にし、無視することで回避しましたとさ。
(BOMを消す処理をVBAで実装するのは少し面倒なのです…)