Skip to content

Commit b3c3194

Browse files
author
Andrey Sidorov
committed
use results encoding when reading column metadata
1 parent 1a31bde commit b3c3194

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lib/packets/column_definition.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,12 @@ function ColumnDefinition (packet)
4646

4747
packet.skip(1); // length of the following fields (always 0x0c)
4848
this.characterSet = packet.readInt16();
49+
this.encoding = CharsetToEncoding[this.characterSet];
4950

5051
// TODO: use this.characterSet to get proper encoding
5152
// May be keep it cesu8 since MySQL meta data is actually cesu8
5253
// https://github.com/sidorares/node-mysql2/pull/374
53-
this.name = StringParser.decode(this._buf.slice(_nameStart, _nameStart + _nameLength), 'cesu8');
54+
this.name = StringParser.decode(this._buf.slice(_nameStart, _nameStart + _nameLength), this.encoding);
5455

5556
this.columnLength = packet.readInt32();
5657
this.columnType = packet.readInt8();
@@ -62,7 +63,7 @@ var addString = function (name) {
6263
Object.defineProperty(ColumnDefinition.prototype, name, {get: function () {
6364
var start = this['_' + name + 'Start'];
6465
var end = start + this['_' + name + 'Length'];
65-
return this._buf.utf8Slice(start, end);
66+
return StringParser.decode(this._buf.slice(start, end), this.encoding);
6667
}});
6768
};
6869

0 commit comments

Comments
 (0)