格納されたデータの文字コードを調べる (strtohex関数)

格納されたデータの文字コード等を調べるのに使う。以下READMEより。

1. strtohexとは

strtohexは引数の文字列を16進表現にしたものをTEXTとして返します.

strtohexは文字化けそのほかのトラブルの解析の役に立つ(かもしれません)

パッチ

PostgreSQL8.3でコンパイル出来なかったので。

$ diff strtohex.c.orig strtohex.c
29a30,37
> #ifndef SET_VARSIZE
> #define SET_VARSIZE(v,l) (VARATT_SIZEP(v) = (l))
> #endif
> #ifdef PG_MODULE_MAGIC
> PG_MODULE_MAGIC;
> #endif
>
>
57c65
<       VARATT_SIZEP(result) = len + VARHDRSZ;
---
>     SET_VARSIZE(result,len + VARHDRSZ);

使い方

SELECT * FROM member WHERE strtohex(namae) LIKE '%a525%'; 

0xa525:リストア時に警告表示される不正な文字列のコード

参考

http://ml.postgresql.jp/pipermail/pgsql-jp/2004-January/015488.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2012-04-13 (金) 17:27:15 (2742d)