[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] setRe: JDBC と日本語




水野@xxxxxxxxxxタイムインターメディアです。
On Sat, 06 Feb 1999 18:34:09 +0900
Taturou Mizuno <mizuno@xxxxxxxxxx> wrote:

> 
> > ちょっと調べたら、8859_1というのは ISO 8859_1(Latin−1ともいう)のこと
> > と解りました。つまり、これは、SJISをLatin-1に変換しているのです。
> > s.getBytes("SJIS")というのは、String からSJISバイトコードを取り出している
> > ので、Unicodeとは無関係のようです。
> > それからこの関数をそのまま使うと最上位の8ビット目が桁落ちするようです。
> それからUniCodeに変換する場合は、"SJIS"になっている所を"UniCode"に変えれ
> ば ,いいのかもしれない。これから試してみます。
最終的にEncodeなしでいけました。

原因は、どうも、2バイト文字列の長さを1文字と数えるStringクラスの仕様に
JBuilder2が対応していないことにあるようです。

SQL文が途中でぶっちぎれていたようです。

逃げ方は、いろいろあると思いますが、

StringBufferクラスを使用して、
QueryStrBuf.setLength(QueryStr.getBytes("SJIS").length);
とやるのがいいようです。

#さあこれからドキュメントだ。