Re: ArrayIndexOutOfBoundsException in Encoding.decodeUTF8()

Поиск
Список
Период
Сортировка
От Joseph Shraibman
Тема Re: ArrayIndexOutOfBoundsException in Encoding.decodeUTF8()
Дата
Msg-id 3E1B637E.1080209@selectacast.net
обсуждение исходный текст
Ответ на ArrayIndexOutOfBoundsException in Encoding.decodeUTF8()  (Joseph Shraibman <jks@selectacast.net>)
Ответы Re: ArrayIndexOutOfBoundsException in Encoding.decodeUTF8()  (Barry Lind <blind@xythos.com>)
Список pgsql-jdbc
BTW the string that caused this is 'Oné'

Joseph Shraibman wrote:
> java.lang.ArrayIndexOutOfBoundsException: 3
>         at org.postgresql.core.Encoding.decodeUTF8(Encoding.java:253)
>         at org.postgresql.core.Encoding.decode(Encoding.java:165)
>         at org.postgresql.core.Encoding.decode(Encoding.java:181)
>         at
> org.postgresql.jdbc1.AbstractJdbc1ResultSet.getString(AbstractJdbc1ResultSet.java:97)
>
>
> The relavent code is:
>
>         while (i < k) {
>             z = data[i] & 0xFF;
>             if (z < 0x80) {
>                 l_cdata[j++] = (char)data[i];
>                 i++;
>             } else if (z >= 0xE0) {        // length == 3
>                 y = data[i+1] & 0xFF; //<<== THIS IS LINE 253
>                 x = data[i+2] & 0xFF;
>                 val = (z-0xE0)*pow2_12 + (y-0x80)*pow2_6 + (x-0x80);
>                 l_cdata[j++] = (char) val;
>                 i+= 3;
>             } else {        // length == 2 (maybe add checking for
> length > 3, throw exception if it is
>
>
> And in the method that calls that:
>
>     if (encoding.equals("UTF-8")) {
>                     return decodeUTF8(encodedString, offset, length);
>                 }
>
> The thing is my database encoding is SQL_ASCII
>
> => SELECT version(),  getdatabaseencoding() ;
>                                                  version
> | getdatabaseencoding
>
---------------------------------------------------------------------------------------------------------+---------------------

>
>  PostgreSQL 7.3.1 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2
> 20020903 (Red Hat Linux 8.0 3.2-7) | SQL_ASCII
> (1 row)
>
> ... so why is it trying to decode the string as UTF-8?  I just upgraded
> this database from 7.2.3 yesterday.
>


--
Joseph Shraibman
joseph@xtenit.com
Increase signal to noise ratio.  http://xis.xtenit.com


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Joseph Shraibman
Дата:
Сообщение: ArrayIndexOutOfBoundsException in Encoding.decodeUTF8()
Следующее
От: Barry Lind
Дата:
Сообщение: Re: ArrayIndexOutOfBoundsException in Encoding.decodeUTF8()