postgresql-dart icon indicating copy to clipboard operation
postgresql-dart copied to clipboard

not working with iso_8859_1 data

Open insinfo opened this issue 2 years ago • 12 comments

i'm accessing a database with data encoded in iso_8859_1 and i'm getting this error, i can access without problems with navicat

image

image

dart run .\example\main2.dart
Unhandled exception:
FormatException: Unexpected extension byte (at offset 1)
#0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1783:7)
#1      Utf8Decoder.convert (dart:convert/utf.dart:322:42)
#2      Utf8Codec.decode (dart:convert/utf.dart:63:20)
#3      PostgresBinaryDecoder.convert (package:postgres/src/binary_codec.dart:417:21)
#4      Query.addRow.<anonymous closure> (package:postgres/src/query.dart:148:41)
#5      MappedListIterable.elementAt (dart:_internal/iterable.dart:411:31)
#6      ListIterator.moveNext (dart:_internal/iterable.dart:340:26)
#7      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:188:27)
#8      new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
#9      new List.of (dart:core-patch/array_patch.dart:50:28)
#10     ListIterable.toList (dart:_internal/iterable.dart:211:44)
#11     Query.addRow (package:postgres/src/query.dart:151:30)
#12     _PostgreSQLConnectionStateBusy.onMessage (package:postgres/src/connection_fsm.dart:297:13)
#13     PostgreSQLConnection._readData (package:postgres/src/connection.dart:286:47)
#14     _RootZone.runUnaryGuarded (dart:async/zone.dart:1546:10)
#15     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)
#16     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#17     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:733:19)
#18     _StreamController._add (dart:async/stream_controller.dart:607:7)
#27     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1680:33)
#28     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1192:14)
#29     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#30     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
#31     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:120:13)
#32     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:185:5)



import 'dart:io';
import 'package:postgres/postgres.dart';

void main(List<String> args) async {
  var connection = PostgreSQLConnection('192.168.66.5', 5432, 'sistemas',
      username: 'sisadmin', password: 's1sadm1n');
  await connection.open();
  var query = '''
    SELECT SUM
	( a1.nr_vaga - a1.nr_vagaefetiv ) AS qtd,
	a3.nm_cargo,
	a1.nm_exigencia 
FROM
	sibem.tb_emprcargo a1,
	sibem.tb_empregador a2,
	sibem.tb_cargo a3 
WHERE
	a1.dt_encerra ISNULL 
	AND ( a1.nr_vaga - a1.nr_vagaefetiv ) > 0 
	AND a1.cd_empregador = a2.cd_empregador 
	AND a1.cd_cargo = a3.cd_cargo 
GROUP BY
	a3.nm_cargo,
	a1.nm_exigencia 
ORDER BY
	a3.nm_cargo
    ''';
  List<List<dynamic>> results = await connection.query(query);

  for (final row in results) {
    print(row);
  }
  exit(0);
}

insinfo avatar Jan 14 '22 20:01 insinfo