Windows環境でのdbt-core:文字コード問題の解決方法

スポンサーリンク
dbt
スポンサーリンク

Windowsサーバーでdbt-coreを利用していると、文字コード問題にしばしば出会います。この組み合わせで利用しているユーザーは少ないらしくネットでもあまり見つけられませんでしたので、解決方法をまとめました。

スポンサーリンク

dbtディレクトリ内のファイルに起因する文字コードエラー解決

Windowsでdbt内のファイルの文字コードと改行コードを統一します。Visual Studio Codeを利用しており、EditorConfigにて保存するファイルの文字コードと改行コードを統一します。


.editorconfig

charset = utf-8
end_of_line = lf

elementaryツールの文字コードエラー解決

elementaryをインストールし、elementaryのレポートを出力するedr reportを実行すると、文字コードでエラーになってしまいました。Pythonでelementaryを実行する際にpythonが利用する文字コードを指定することで、edr reportを実行できるようになります。

Visual Studio Codeのsetting.json

"terminal.integrated.env.windows": {
    "PYTHONUTF8": "1"
},

dbt-osmosisツールの文字コードエラー解決

dbt-osmosisをインストールし、osmosisのコマンドを実行すると、日本語のdescriptionが文字化けしてしまいました。dbt-osmosis yaml commands create � character when propagating column descriptionにて対応されており、

$Env:DBT_OSMOSIS_ENCODING = 'utf-8'で文字コードを指定することで、文字化けがなくなります。

Windowsとdbt-coreの組み合わせは、文字コードの罠がいたるところにあり、解決するのに苦労しました。無駄な苦労なのでしたくはないのですが、今後もwindowsでメンテする必要があるので、まだまだ出会いそうです。

コメント

タイトルとURLをコピーしました