OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

データがUTF-8で格納されているか確認する方法

公開日:
更新日:
基本操作
#UTF8
#文字化け
#文字コード

はじめに

Verticaがサポートしている文字コードはUTF-8です。そのため、UTF-8に対応していないデータが追加された場合は文字化けします。Verticaにデータを追加後、正常にUTF-8でデータが格納されているかどうかを確認したい場合は、ISUTF8関数を利用します。

ISUTF8関数

ISUTF8関数は指定したデータに対して、以下の内容を確認します。UTF-8の標準に準拠する場合は「true」を返し、それ以外の場合は「false」を返します。

・無効バイト
・予期しない継続バイト
・開始バイトの後に十分な継続バイトがない
・オーバーロードのエンコーディング

構文

ISUTF8( カラム名 );

パラメータ

カラム名:UTF-8に準拠しているか確認する対象

実行例

文字化けのデータに対して、ISUTF8関数で確認した場合の実行例をご紹介します。

dbadmin=> select *,isutf8(col2) from tbl_a order by 1;
 col1 |    col2    | isutf8
------+------------+--------
    1 | ABCDEFG    | t
    2 | 12345      | t
    3 | あいうえお  | t
    4 | アイウエオ  | t
    5 | 東京       | t
    6 | k
         Cケ       | f //★UTF-8の文字列ではない
・                 | f //★
    8 | 福岡       | t
(8 rows) 

//件数のみを確認したい場合
dbadmin=> select count(*) from tbl_a where isutf8(col2) = 'f';
 count
-------
2
(1 row) 

検証バージョンについて

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