embulkを使ってOracle Databaseからデータ抽出する際の文字化け解決
embulkを使ってOracle Databaseからデータを抽出する際に、日本語が含まれたデータが文字化けしていた。
SQLPlusを使って接続して確認した際も日本語が文字化けている。
データベース自体の文字コードはSJISが設定されており問題なかった。
SQL> SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET';
PARAMETER
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_NCHAR_CHARACTERSET
AL16UTF16
NLS_CHARACTERSET
JA16SJISTILDE
そもそもデータを投入する際に日本語が文字化けていた。
→ クライアント側に適切な文字コードを設定する必要があった。
調べてみると、
NLS_LANGという環境変数にクライアント環境に適した文字コードを指定する必要があるみたい。
環境変数のNLS_LANGにJapanese_Japan.AL32UTF8を設定することで解決
$ vi ~/.bash_profile
export NLS_LANG=Japanese_Japan.AL32UTF8
$ source ~/.bash_profile
知らないと調べる手間が起るのでメモ…