2010年3月12日

[pgsql-jp: 40210] Re:UTF-8 <- SJISの文字化け

原田です。

2010年3月12日17:31 小笠 剛 <ogasa@xxxxx>:
> 漢字データ登録時に文字化けしたりします。
>
> CentOS 5.4
>
> PostgreSQL 8.3.6

> server encoding : utf-8
> client encoding : sjis
>
> unixODBC 2.2.11-7.1
>
> です。
> ●たとえば"宮"、"本"などは登録できません。
>
> エラーの例(Apacheのerrlog)
> ERROR: invalid byte sequence for encoding "SJIS": 0x9627 (SQL-01000) [state
> was 01000 now
> S1000]
> ERROR: invalid byte sequence for encoding "SJIS": 0x9627 (SQL-S1000) at
> /var/www/cgi-bin/
> mainte_article_detail.cgi line 451, <CONFIG> line 12.

エラーメッセージの通り、0x9627というSJISのコードはないと思われます。
"本"のコードが0x967bです。

> このエラーで出てくる0x..27という0x27( "'" : シングル九オート)のコードが邪魔
> しているのでしょうか。

エラーメッセージを見る限りCGIからのSQLだと思いますが、perlでバイト文字列を扱っていれば、確かにSJISの2バイト目が落ちてその後ろのシングルクォートとくっついて0x9627、ということがあるかもしれません。

クライアント側の処理で上記の状態がないかどうか確かめたほうがよいかもしれませんね。

--
Hitoshi Harada


投稿者 xml-rpc : 2010年3月12日 17:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/94093
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。