Re: SQL Server 2019: CHAR(N) using UTF-8 is seen as SQL_NVARCHAR by SQLDescribeCol()
Sebastien FLAESCH <[email protected]> Thu, 28 Feb 2019 11:50:09 +0100
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Organization | Four Js Development Tools |
| Message-ID | <[email protected]> |
SGVsbG8gQ3JhaWcsCgpJIGRvbid0IHRoaW5rIHNvOiBBbiBPREJDIHByb2dyYW0gc2hvdWxkIGJl IGFibGUgdG8gcHJvcGVybHkgaWRlbnRpZnkKKGFzIG11Y2ggYXMgcG9zc2libGUpIHRoZSBvcmln aW5hbCBkYXRhYmFzZSB0eXBlIHVzZWQgZm9yIGEgY29sdW1uLgoKV2UgbXVzdCBhbHNvIGRpc3Rp bmd1aXNoIHRoZSBjb25jZXB0IG9mICJ2YXJpYWJsZSBsZW5ndGgiIHJlZ2FyZGluZyB0aGUKbnVt YmVyIG9mIGJ5dGVzIHVzZWQgdG8gZW5jb2RlIGNoYXJhY3RlcnMsIHZlcnN1cyB0aGUgYWN0dWFs IGxlbmd0aCBvZgp0aGUgc3RyaW5nIGluIGNoYXJhY3RlciB1bml0cy4KClBsdXMgdGhlIGZhY3Qg dGhhdCBbTl1DSEFSIGNvbHVtbnMgY2FuIGJlIGJsYW5rLXBhZGRlZCwgd2hpbGUgW05dVkFSQ0hB Ugpjb2x1bW5zIGFyZSBub3QgYW5kIHN0b3JlIHRoZSBhY3R1YWwgbnVtYmVyIG9mIHRyYWlsaW5n IHdoaXRlIHNwYWNlcyBvZgp0aGUgc3RyaW5nLCB0cnkgZm9yIGV4OgoKY3JlYXRlIHRhYmxlIHRh YjEgKCBjMSBjaGFyKDEwKSwgYzIgdmFyY2hhcigxMCkgKQppbnNlcnQgaW50byB0YWIxIHZhbHVl cyAoICdhYmMnLCAnYWJjICAnICkKc2VsZWN0ICdbJytjMSsnXScsICdbJytjMisnXScgZnJvbSB0 YWIxCgpZb3Ugd2lsbCBzZWU6CgpbYWJjICAgICAgIF0gW2FiYyAgXQoKKGNoZWNrIFNFVCBBTlNJ X1BBRERJTkcgT04vT0ZGKQoKLi4uCgpVVEYtOCBpcyBhIHZhcmlhYmxlLXdpZHRoIGVuY29kaW5n OgoKYSAgPT4gbmVlZHMgMSBieXRlCsOpICA9PiBuZWVkcyAyIGJ5dGVzCuacqCA9PiBuZWVkcyAz IGJ5dGVzCi4uLiBldGMgKHRoZXJlIGNhbiBiZSBtb3JlIHRoYW4gMyBieXRlcykKCkluIHRoYXQg Y29udGV4dCwgb25lIGNhbiBzZWUgYSAidmFyaWFibGUgbGVuZ3RoIiBpbiBieXRlIHVuaXRzLi4u CgpCdXQgd2hlbiBjb3VudGluZyBpbiBjaGFyYWN0ZXJzLCAnYcOp5pyoJyBpcyAzIGNoYXJhY3Rl cnMsIG5vIG1hdHRlciB0aGUKZW5jb2RpbmcgdXNlZCB0byBzdG9yZSB0aGlzIHN0cmluZy4KCllv dSBoYXZlIGFsc28gdGhlIGNvbmNlcHQgb2YgYnl0ZS1sZW5ndGggc2VtYW50aWNzIHZlcnN1cyBj aGFyLWxlbmd0aApzZW1hbnRpY3M6IFdoZW4gY3JlYXRpbmcgYSBDSEFSKDEwKSBpcyB0aGlzIDEw IGJ5dGVzIG9yIDEwIGNoYXJhY3RlcnM/CkRlcGVuZGluZyBvbiB0aGUgZGF0YWJhc2UgYnJhbmQs IGl0J3MgYnl0ZXMgKFNRTCBTZXJ2ZXIpLCBjaGFyYWN0ZXJzCihQb3N0Z3JlU1FMKSwgb3IgaXQg Y2FuIGV2ZW4gYmUgYSBtaXggYW5kIHNwZWNpZmllZCBleHBsaWNpdGx5IChsaWtlCmluIE9yYWNs ZSBEQikuCgpOb3RlOiBZb3UgaGF2ZSB0aGVuIGFsc28gdGhlIGNvbmNlcHQgb2YgIndpZHRoIiBv ciAibnVtYmVyIG9mIGNvbHVtbnMiOgpBIGxhdGluIGNoYXJhY3RlciB0YWtlcyBvbmUgY29sdW1u LCB3aGlsZSBhbiBBc2lhbiBsb2dvZ3JhbSB0YWtlcyAyLgpTZWUgd2N3aWR0aCgpIGZvciBtb3Jl IGRldGFpbHMuCgouLi4KCkluIFNRTCBTZXJ2ZXIsIE5DSEFSIGFuZCBOVkFSQ0hBUiBjYW4gc3Rv cmUgVVRGLTE2IHdoZW4gdGhlIFNDIG1vZGlmaWVyCmlzIHVzZWQgaW4gdGhlIGRhdGFiYXNlIGNv bGxhdGlvbiAodGhleSBzdG9yZSBVQ1MtMiB3aGVuIG5vIFNDIGlzIHVzZWQpCgpJbiBVVEYtMTYs IGEgZmlyc3QgcmFuZ2Ugb2YgY2hhcmFjdGVycyBhcmUgZW5jb2RlZCBvbiAyIGJ5dGVzLCBidXQg eW91CmNhbiBoYXZlICJzdXJyb2dhdGUgcGFpcnMiIGVuY29kZWQgb24gNCBieXRlcyAodHdvIDE2 LWJpdCBjb2RlIHVuaXRzKS4KCkluIHlvdXIgbG9naWMsIHRoZSBOQ0hBUi9VVEYtMTYgdHlwZSBj b3VsZCBhbHNvIGJlIGNvbnNpZGVyZWQgYXMgYQoidmFyaWFibGUgbGVuZ3RoIiB0eXBlIGFuZCBT UUxEZWNyaWJlQ29sKCkgY291bGQgcmV0dXJuIFNRTF9XVkFSQ0hBUgppbnN0ZWFkIG9mIFNRTF9X Q0hBUi4uLiBJdCBtdXN0IG5vdCBhbmQgZG9lcyBub3QuCgpDaGVlcnMsClNlYgoKCk9uIDIvMjcv MTkgNDozMiBQTSwgQ3JhaWcgSmFja3NvbiB3cm90ZToKPiBJIGRvbid0IGtub3cgYW55dGhpbmcg YWJvdXQgU1FMIFNlcnZlciAyMDE5LCBidXQgaWYgdGhleSBhZGRlZCB0aGUgb3B0aW9uCj4gdG8g YWxsb3cgVVRGLTggZW5jb2Rpbmcgb2YgY2hhcmFjdGVyIHN0cmluZ3MsIGl0IHdvdWxkIHNlZW0g bmF0dXJhbCB0aGF0Cj4gc2FpZCBzdHJpbmdzIHdvdWxkIGJlIHZhcmlhYmxlLWxlbmd0aCwgZXZl biBpZiBkZWNsYXJlZCBDSEFSKG4pLiBTdHJpbmdzCj4gZW5jb2RlZCBpbiBVVEYtOCBhcmUgaW5o ZXJlbnRseSB2YXJpYWJsZSBsZW5ndGguCj4gCj4gQ3JhaWcgSmFja3Nvbgo+IAo+IE9uIFdlZCwg RmViIDI3LCAyMDE5IGF0IDEwOjI3IEFNIFNlYmFzdGllbiBGTEFFU0NIIDxzZkA0anMuY29tPiB3 cm90ZToKPiAKPj4gSGksCj4+Cj4+IEp1c3QgdHJpZWQgd2l0aCBURFMgNy40LCBpdCBkaWQgbm90 IGhlbHAuCj4+Cj4+IEkgaGF2ZSB0ZXN0ZWQgdGhlIE1TIE9EQkMgZHJpdmVyIDE3LjMuMS4xLCBp dCB3b3JrcyBhcyBleHBlY3RlZAo+PiAoIEkgZ2V0IDEvU1FMX0NIQVIgZnJvbSBTUUxEZXNjcmli ZUNvbCgpICkKPj4KPj4gWW91IG1heSBrbm93IHRoYXQgaXQncyB2ZXJ5IGVhc3kgdG8gc2V0dXAg YW4gU1FMIFNlcnZlciAyMDE5IHdpdGgKPj4gZG9ja2VyLCBkbyB5b3U/Cj4+Cj4+IENoZWVycywK Pj4gU2ViCj4+Cj4+IE9uIDIvMjcvMTkgMzowOCBQTSwgRnJlZGlhbm8gWmlnbGlvIHdyb3RlOgo+ Pj4gSGksCj4+PiAgICAgSSB3b3VsZCB0cnkgdG8gdXNlIFREUyA3LjQsIG5vdCA3LjMuCj4+PiBB bHNvIEkgd291bGQgdHJ5IHRvIHVzZSBNaWNyb3NvZnQgT0RCQyBkcml2ZXIgYW5kIGEgbmV0d29y ayBhbmFseXplcgo+Pj4gKGxpa2Ugd2lyZXNoYXJrKS4KPj4+Cj4+PiBSZWdhcmRzLAo+Pj4gICAg IEZyZWRpYW5vCj4+Pgo+Pj4gSWwgZ2lvcm5vIG1hciAyNiBmZWIgMjAxOSBhbGxlIG9yZSAxMToy NiBTZWJhc3RpZW4gRkxBRVNDSAo+Pj4gPHNmQDRqcy5jb20+IGhhIHNjcml0dG86Cj4+Pj4KPj4+ PiBUZXN0aW5nIEZyZWVURFMgMS4xcmMzIHdpdGggU1FMIFNlcnZlciAyMDE5Ogo+Pj4+Cj4+Pj4g SSBnZXQgYW4gdW5leHBlY3RlZCBTUUwgdHlwZSBjb2RlIHdpdGggYSBDSEFSKDEwKSBjb2x1bW4s IHdoZW4gdGhlCj4+Pj4gZGF0YWJhc2UgY29sbGF0aW9uIGlzIHVzaW5nIFVURi04Lgo+Pj4+Cj4+ Pj4gSW5zdGVhZCBvZiBTUUxfQ0hBUiAob3IgU1FMX1dDSEFSKSwgSSBnZXQgU1FMX1dWQVJDSEFS Lgo+Pj4+Cj4+Pj4gSSBoYXZlIGNyZWF0ZWQgYSBkYXRhYmFzZSB3aXRoIHRoaXMgY29sbGF0aW9u Ogo+Pj4+Cj4+Pj4gICAgICBMYXRpbjFfR2VuZXJhbF8xMDBfQ0lfQVNfU0NfVVRGOAo+Pj4+Cj4+ Pj4gVGhlbiBjcmVhdGVkIGEgdGFibGUgbGlrZSB0aGlzOgo+Pj4+Cj4+Pj4gICAgICBDUkVBVEUg VEFCTEUgbXl0YWIxICggY29sMSBDSEFSKDEwKSApCj4+Pj4KPj4+PiBhbmQgaW5zZXJ0ZWQgYSBy b3c6Cj4+Pj4KPj4+PiAgICAgIElOU0VSVCBJTlRPIG15dGFiMSBWQUxVRVMgKCAnYWJjJyApCj4+ Pj4KPj4+PiBUaGVuIGluIHRoZSBPREJDIHByb2dyYW06Cj4+Pj4KPj4+PiAgICAgIFNRTEV4ZWNE aXJlY3QoLi4iU0VMRUNUICogRlJPTSBteXRhYjEiLi4pCj4+Pj4gICAgICBTUUxEZXNjcmliQ29s KC4uLikKPj4+Pgo+Pj4+IENoZWNrIHRoZSBURFNEVU1QIHRyYWNlIGluIGF0dGFjaG1lbnQgKGZy ZWV0ZHMtMjAxOS0xLmxvZykKPj4+Pgo+Pj4+IHRva2VuLmM6MTU0MTp0ZHM3X2dldF9kYXRhX2lu Zm86Cj4+Pj4gICAgICAgICAgICBjb2xuYW1lID0gY29sMQo+Pj4+ICAgICAgICAgICAgdHlwZSA9 IDM5ICh2YXJjaGFyKQo+Pj4+ICAgICAgICAgICAgc2VydmVyJ3MgdHlwZSA9IDIzMSAoeCBVQ1Mt MiB2YXJjaGFyKSAgICAgICAgICAgPC0tIDIzMSA/Cj4+Pj4gICAgICAgICAgICBjb2x1bW5fdmFy aW50X3NpemUgPSAyCj4+Pj4gICAgICAgICAgICBjb2x1bW5fc2l6ZSA9IDIwICgyMCBvbiBzZXJ2 ZXIpCj4+Pj4KPj4+Pgo+Pj4+IFRoZSBzYW1lIHByb2dyYW0sIGNvbm5lY3RpbmcgdG8gU1FMIFNl cnZlciAyMDE3ICh3ZXJlIERCIGNvbGxhdGlvbiBpcwo+PiBMYXRpbjEKPj4+PiB3aXRob3V0IFVU Ri04KToKPj4+Pgo+Pj4+Cj4+Pj4gdG9rZW4uYzoxNTQxOnRkczdfZ2V0X2RhdGFfaW5mbzoKPj4+ PiAgICAgICAgICAgIGNvbG5hbWUgPSBjb2wxCj4+Pj4gICAgICAgICAgICB0eXBlID0gNDcgKGNo YXIpCj4+Pj4gICAgICAgICAgICBzZXJ2ZXIncyB0eXBlID0gMTc1ICh4Y2hhcikgICAgICAgICAg PC0tIDE3NQo+Pj4+ICAgICAgICAgICAgY29sdW1uX3ZhcmludF9zaXplID0gMgo+Pj4+ICAgICAg ICAgICAgY29sdW1uX3NpemUgPSAxMCAoMTAgb24gc2VydmVyKQo+Pj4+Cj4+Pj4gV2l0aCBTUUwg U2VydmVyIDIwMTksIHdoZW4gdXNpbmcgYW5vdGhlciBjb2xsYXRpb24gKG5vbi1VVEYtOCkKPj4+ Pgo+Pj4+ICAgICAgIENSRUFURSBUQUJMRSBteXRhYjIgKCBjb2wxIENIQVIoMTApIENPTExBVEUg TGF0aW4xX0dlbmVyYWxfQ0lfQVMgKQo+Pj4+Cj4+Pj4gSSBnZXQgdGhlIGV4cGVjdGVkIHRkcyB0 eXBlIGNvZGUuLi4KPj4+Pgo+Pj4+IFNlYgo+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4+Pj4gRnJlZVREUyBtYWlsaW5nIGxpc3QKPj4+PiBGcmVl VERTQGxpc3RzLmliaWJsaW8ub3JnCj4+Pj4gaHR0cHM6Ly9saXN0cy5pYmlibGlvLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ZyZWV0ZHMKPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4+PiBGcmVlVERTIG1haWxpbmcgbGlzdAo+Pj4gRnJlZVREU0BsaXN0 cy5pYmlibGlvLm9yZwo+Pj4gaHR0cHM6Ly9saXN0cy5pYmlibGlvLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ZyZWV0ZHMKPj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4+IEZyZWVURFMgbWFpbGluZyBsaXN0Cj4+IEZyZWVURFNAbGlzdHMuaWJp Ymxpby5vcmcKPj4gaHR0cHM6Ly9saXN0cy5pYmlibGlvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zy ZWV0ZHMKPj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IEZyZWVURFMgbWFpbGluZyBsaXN0Cj4gRnJlZVREU0BsaXN0cy5pYmlibGlvLm9yZwo+IGh0 dHBzOi8vbGlzdHMuaWJpYmxpby5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVldGRzCj4gCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlVERTIG1haWxp bmcgbGlzdApGcmVlVERTQGxpc3RzLmliaWJsaW8ub3JnCmh0dHBzOi8vbGlzdHMuaWJpYmxpby5v cmcvbWFpbG1hbi9saXN0aW5mby9mcmVldGRzCg==