はじめに

VerticaクライアントのWindows版に含まれるvsqlでは、日本語データをサポートしていません。
仮に日本語データをINSERTすると、文字化けした状態でデータが格納されます。
今回の記事では回避策を紹介します。

問題点

Windows版vsqlでは、日本語データをサポートしていません。

問題点の例

以下のシナリオに沿って文字化けを起こす状況を見てみます。

1. Windows版vsqlで日本語データをINSERT。
2. そのデータをVerticaサーバ(Linux版vsql)でSELECTすると文字化けが発生する。

[Windows版vsqlでの操作]


Windows版vsqlでは正常に日本語が表示されます。


[Linux版vsqlでの操作]
上記データをVerticaサーバ側でSELECTすると、文字化けしたデータが表示されます。


回避策

Windows版のvsqlクライアントからの操作では、日本語データを標準入力/出力で扱うことができません。
しかし、日本語データを持つファイルを扱うことはできます。
以下では、vsqlの「-f」オプションで日本語データを扱うSQLファイルを呼び出す方法を記載します。

回避策の実行例

日本語データをINSERTする場合の例を記載します。

[Windows版vsqlでの操作]

日本語データをINSERTするSQLコマンドをテキストファイルに記述します。
この時、テキストファイル(Windows上)の文字コードはUTF8で保存します。
(SJISで保存したSQLは文字化けを起こします。)

・テキストファイルの内容


上記内容のファイルを「C:\test.sql」に保存し、以下vsqlコマンドを実行します。




[Linux版vsqlでの操作]
上記方法でINSERTした日本語データをLinux版のvsqlでSELECTします。



参考

日本語データをSELECTする場合

[Linux版vsqlでの操作]


[Windows版vsqlでの操作]


検証バージョンについて

この記事の内容はVertica 9.1で確認しています。