Re: SQL Server 2019: CHAR(N) using UTF-8 is seen as SQL_NVARCHAR by SQLDescribeCol()
Frediano Ziglio <[email protected]> Thu, 28 Feb 2019 10:56:03 +0000
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <CAHt6W4cgGysreyy=zhP7sbUrHUdhbyfQZYqVoXP6OaJ8YbpDCA@mail.gmail.com> |
SGksCiAgc28sIGluc3RhbGxlZCBhIHNxbCAyMDE5IGFuZCB0cmllZCBzb21lIHF1ZXJpZXMuClVz aW5nIHRoZSBkcml2ZXIgcHJvdmlkZWQgaW5zaWRlIHRoZSBkb2NrZXIgaW1hZ2UgdGhlICJhYmMi IGlzCnJldHVybmVkIGFzICJhYmMgICAgICAgIiwgc28KdGhlIENIQVIoMTApIGFyZSByZXR1cm5l ZCBlbmNvZGVkIGluIFVURi04IGFuZCB0aGUgIjEwIiBpcyBqdXN0IHRoZQpudW1iZXIgb2YgYnl0 ZXMuCk5vdywgd2h5IHRoZSBzZXJ2ZXIgZGVjaWRlZCB0byByZXR1cm4gVVRGLTggYW5kIG5vdCBj b252ZXJ0IHRvIE5WQVJDSEFSICh3aGljaAptYWtlIHNlbnNlIHRvIG1lIGZvciBvbGQgY2xpZW50 cykgaXQncyB0aGUgaXNzdWUuIE1heWJlIHRoZXkgYnVtcCB0aGUKcHJvdG9jb2wgdmVyc2lvbiwK bWF5YmUgdGhleSBhcmUgdXNpbmcgc29tZSBvdGhlciBmbGFncy92ZXJzaW9uIChsaWtlIGNsaWVu dCB2ZXJzaW9uCnBhc3NlcyB0aHJvdWdoCnRoZSBwcmUtbG9naW4pLiBVbmZvcnR1bmF0ZWx5IHRo ZSBsb2dpbiBpcyBlbmNyeXB0ZWQgc28gSSdsbCBoYXZlIHRvCmRpZyBhIGJpdCBtb3JlICh3ZWxs LApqdXN0IHF1ZXN0aW9uIG9mIHNldHVwIGFuZCB1c2UgdGhlIGJvdW5jZSB1dGlsaXR5LCBub3Qg c3VyZSBpZiBpdApzdXBwb3J0cyBwcmUtbG9naW4pLgoKRnJlZGlhbm8KCklsIGdpb3JubyBnaW8g MjggZmViIDIwMTkgYWxsZSBvcmUgMTA6NTAgU2ViYXN0aWVuIEZMQUVTQ0gKPHNmQDRqcy5jb20+ IGhhIHNjcml0dG86Cj4KPiBIZWxsbyBDcmFpZywKPgo+IEkgZG9uJ3QgdGhpbmsgc286IEFuIE9E QkMgcHJvZ3JhbSBzaG91bGQgYmUgYWJsZSB0byBwcm9wZXJseSBpZGVudGlmeQo+IChhcyBtdWNo IGFzIHBvc3NpYmxlKSB0aGUgb3JpZ2luYWwgZGF0YWJhc2UgdHlwZSB1c2VkIGZvciBhIGNvbHVt bi4KPgo+IFdlIG11c3QgYWxzbyBkaXN0aW5ndWlzaCB0aGUgY29uY2VwdCBvZiAidmFyaWFibGUg bGVuZ3RoIiByZWdhcmRpbmcgdGhlCj4gbnVtYmVyIG9mIGJ5dGVzIHVzZWQgdG8gZW5jb2RlIGNo YXJhY3RlcnMsIHZlcnN1cyB0aGUgYWN0dWFsIGxlbmd0aCBvZgo+IHRoZSBzdHJpbmcgaW4gY2hh cmFjdGVyIHVuaXRzLgo+Cj4gUGx1cyB0aGUgZmFjdCB0aGF0IFtOXUNIQVIgY29sdW1ucyBjYW4g YmUgYmxhbmstcGFkZGVkLCB3aGlsZSBbTl1WQVJDSEFSCj4gY29sdW1ucyBhcmUgbm90IGFuZCBz dG9yZSB0aGUgYWN0dWFsIG51bWJlciBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMgb2YKPiB0aGUg c3RyaW5nLCB0cnkgZm9yIGV4Ogo+Cj4gY3JlYXRlIHRhYmxlIHRhYjEgKCBjMSBjaGFyKDEwKSwg YzIgdmFyY2hhcigxMCkgKQo+IGluc2VydCBpbnRvIHRhYjEgdmFsdWVzICggJ2FiYycsICdhYmMg ICcgKQo+IHNlbGVjdCAnWycrYzErJ10nLCAnWycrYzIrJ10nIGZyb20gdGFiMQo+Cj4gWW91IHdp bGwgc2VlOgo+Cj4gW2FiYyAgICAgICBdIFthYmMgIF0KPgo+IChjaGVjayBTRVQgQU5TSV9QQURE SU5HIE9OL09GRikKPgo+IC4uLgo+Cj4gVVRGLTggaXMgYSB2YXJpYWJsZS13aWR0aCBlbmNvZGlu ZzoKPgo+IGEgID0+IG5lZWRzIDEgYnl0ZQo+IMOpICA9PiBuZWVkcyAyIGJ5dGVzCj4g5pyoID0+ IG5lZWRzIDMgYnl0ZXMKPiAuLi4gZXRjICh0aGVyZSBjYW4gYmUgbW9yZSB0aGFuIDMgYnl0ZXMp Cj4KPiBJbiB0aGF0IGNvbnRleHQsIG9uZSBjYW4gc2VlIGEgInZhcmlhYmxlIGxlbmd0aCIgaW4g Ynl0ZSB1bml0cy4uLgo+Cj4gQnV0IHdoZW4gY291bnRpbmcgaW4gY2hhcmFjdGVycywgJ2HDqeac qCcgaXMgMyBjaGFyYWN0ZXJzLCBubyBtYXR0ZXIgdGhlCj4gZW5jb2RpbmcgdXNlZCB0byBzdG9y ZSB0aGlzIHN0cmluZy4KPgo+IFlvdSBoYXZlIGFsc28gdGhlIGNvbmNlcHQgb2YgYnl0ZS1sZW5n dGggc2VtYW50aWNzIHZlcnN1cyBjaGFyLWxlbmd0aAo+IHNlbWFudGljczogV2hlbiBjcmVhdGlu ZyBhIENIQVIoMTApIGlzIHRoaXMgMTAgYnl0ZXMgb3IgMTAgY2hhcmFjdGVycz8KPiBEZXBlbmRp bmcgb24gdGhlIGRhdGFiYXNlIGJyYW5kLCBpdCdzIGJ5dGVzIChTUUwgU2VydmVyKSwgY2hhcmFj dGVycwo+IChQb3N0Z3JlU1FMKSwgb3IgaXQgY2FuIGV2ZW4gYmUgYSBtaXggYW5kIHNwZWNpZmll ZCBleHBsaWNpdGx5IChsaWtlCj4gaW4gT3JhY2xlIERCKS4KPgo+IE5vdGU6IFlvdSBoYXZlIHRo ZW4gYWxzbyB0aGUgY29uY2VwdCBvZiAid2lkdGgiIG9yICJudW1iZXIgb2YgY29sdW1ucyI6Cj4g QSBsYXRpbiBjaGFyYWN0ZXIgdGFrZXMgb25lIGNvbHVtbiwgd2hpbGUgYW4gQXNpYW4gbG9nb2dy YW0gdGFrZXMgMi4KPiBTZWUgd2N3aWR0aCgpIGZvciBtb3JlIGRldGFpbHMuCj4KPiAuLi4KPgo+ IEluIFNRTCBTZXJ2ZXIsIE5DSEFSIGFuZCBOVkFSQ0hBUiBjYW4gc3RvcmUgVVRGLTE2IHdoZW4g dGhlIFNDIG1vZGlmaWVyCj4gaXMgdXNlZCBpbiB0aGUgZGF0YWJhc2UgY29sbGF0aW9uICh0aGV5 IHN0b3JlIFVDUy0yIHdoZW4gbm8gU0MgaXMgdXNlZCkKPgo+IEluIFVURi0xNiwgYSBmaXJzdCBy YW5nZSBvZiBjaGFyYWN0ZXJzIGFyZSBlbmNvZGVkIG9uIDIgYnl0ZXMsIGJ1dCB5b3UKPiBjYW4g aGF2ZSAic3Vycm9nYXRlIHBhaXJzIiBlbmNvZGVkIG9uIDQgYnl0ZXMgKHR3byAxNi1iaXQgY29k ZSB1bml0cykuCj4KPiBJbiB5b3VyIGxvZ2ljLCB0aGUgTkNIQVIvVVRGLTE2IHR5cGUgY291bGQg YWxzbyBiZSBjb25zaWRlcmVkIGFzIGEKPiAidmFyaWFibGUgbGVuZ3RoIiB0eXBlIGFuZCBTUUxE ZWNyaWJlQ29sKCkgY291bGQgcmV0dXJuIFNRTF9XVkFSQ0hBUgo+IGluc3RlYWQgb2YgU1FMX1dD SEFSLi4uIEl0IG11c3Qgbm90IGFuZCBkb2VzIG5vdC4KPgo+IENoZWVycywKPiBTZWIKPgo+Cj4g T24gMi8yNy8xOSA0OjMyIFBNLCBDcmFpZyBKYWNrc29uIHdyb3RlOgo+ID4gSSBkb24ndCBrbm93 IGFueXRoaW5nIGFib3V0IFNRTCBTZXJ2ZXIgMjAxOSwgYnV0IGlmIHRoZXkgYWRkZWQgdGhlIG9w dGlvbgo+ID4gdG8gYWxsb3cgVVRGLTggZW5jb2Rpbmcgb2YgY2hhcmFjdGVyIHN0cmluZ3MsIGl0 IHdvdWxkIHNlZW0gbmF0dXJhbCB0aGF0Cj4gPiBzYWlkIHN0cmluZ3Mgd291bGQgYmUgdmFyaWFi bGUtbGVuZ3RoLCBldmVuIGlmIGRlY2xhcmVkIENIQVIobikuIFN0cmluZ3MKPiA+IGVuY29kZWQg aW4gVVRGLTggYXJlIGluaGVyZW50bHkgdmFyaWFibGUgbGVuZ3RoLgo+ID4KPiA+IENyYWlnIEph Y2tzb24KPiA+Cj4gPiBPbiBXZWQsIEZlYiAyNywgMjAxOSBhdCAxMDoyNyBBTSBTZWJhc3RpZW4g RkxBRVNDSCA8c2ZANGpzLmNvbT4gd3JvdGU6Cj4gPgo+ID4+IEhpLAo+ID4+Cj4gPj4gSnVzdCB0 cmllZCB3aXRoIFREUyA3LjQsIGl0IGRpZCBub3QgaGVscC4KPiA+Pgo+ID4+IEkgaGF2ZSB0ZXN0 ZWQgdGhlIE1TIE9EQkMgZHJpdmVyIDE3LjMuMS4xLCBpdCB3b3JrcyBhcyBleHBlY3RlZAo+ID4+ ICggSSBnZXQgMS9TUUxfQ0hBUiBmcm9tIFNRTERlc2NyaWJlQ29sKCkgKQo+ID4+Cj4gPj4gWW91 IG1heSBrbm93IHRoYXQgaXQncyB2ZXJ5IGVhc3kgdG8gc2V0dXAgYW4gU1FMIFNlcnZlciAyMDE5 IHdpdGgKPiA+PiBkb2NrZXIsIGRvIHlvdT8KPiA+Pgo+ID4+IENoZWVycywKPiA+PiBTZWIKPiA+ Pgo+ID4+IE9uIDIvMjcvMTkgMzowOCBQTSwgRnJlZGlhbm8gWmlnbGlvIHdyb3RlOgo+ID4+PiBI aSwKPiA+Pj4gICAgIEkgd291bGQgdHJ5IHRvIHVzZSBURFMgNy40LCBub3QgNy4zLgo+ID4+PiBB bHNvIEkgd291bGQgdHJ5IHRvIHVzZSBNaWNyb3NvZnQgT0RCQyBkcml2ZXIgYW5kIGEgbmV0d29y ayBhbmFseXplcgo+ID4+PiAobGlrZSB3aXJlc2hhcmspLgo+ID4+Pgo+ID4+PiBSZWdhcmRzLAo+ ID4+PiAgICAgRnJlZGlhbm8KPiA+Pj4KPiA+Pj4gSWwgZ2lvcm5vIG1hciAyNiBmZWIgMjAxOSBh bGxlIG9yZSAxMToyNiBTZWJhc3RpZW4gRkxBRVNDSAo+ID4+PiA8c2ZANGpzLmNvbT4gaGEgc2Ny aXR0bzoKPiA+Pj4+Cj4gPj4+PiBUZXN0aW5nIEZyZWVURFMgMS4xcmMzIHdpdGggU1FMIFNlcnZl ciAyMDE5Ogo+ID4+Pj4KPiA+Pj4+IEkgZ2V0IGFuIHVuZXhwZWN0ZWQgU1FMIHR5cGUgY29kZSB3 aXRoIGEgQ0hBUigxMCkgY29sdW1uLCB3aGVuIHRoZQo+ID4+Pj4gZGF0YWJhc2UgY29sbGF0aW9u IGlzIHVzaW5nIFVURi04Lgo+ID4+Pj4KPiA+Pj4+IEluc3RlYWQgb2YgU1FMX0NIQVIgKG9yIFNR TF9XQ0hBUiksIEkgZ2V0IFNRTF9XVkFSQ0hBUi4KPiA+Pj4+Cj4gPj4+PiBJIGhhdmUgY3JlYXRl ZCBhIGRhdGFiYXNlIHdpdGggdGhpcyBjb2xsYXRpb246Cj4gPj4+Pgo+ID4+Pj4gICAgICBMYXRp bjFfR2VuZXJhbF8xMDBfQ0lfQVNfU0NfVVRGOAo+ID4+Pj4KPiA+Pj4+IFRoZW4gY3JlYXRlZCBh IHRhYmxlIGxpa2UgdGhpczoKPiA+Pj4+Cj4gPj4+PiAgICAgIENSRUFURSBUQUJMRSBteXRhYjEg KCBjb2wxIENIQVIoMTApICkKPiA+Pj4+Cj4gPj4+PiBhbmQgaW5zZXJ0ZWQgYSByb3c6Cj4gPj4+ Pgo+ID4+Pj4gICAgICBJTlNFUlQgSU5UTyBteXRhYjEgVkFMVUVTICggJ2FiYycgKQo+ID4+Pj4K PiA+Pj4+IFRoZW4gaW4gdGhlIE9EQkMgcHJvZ3JhbToKPiA+Pj4+Cj4gPj4+PiAgICAgIFNRTEV4 ZWNEaXJlY3QoLi4iU0VMRUNUICogRlJPTSBteXRhYjEiLi4pCj4gPj4+PiAgICAgIFNRTERlc2Ny aWJDb2woLi4uKQo+ID4+Pj4KPiA+Pj4+IENoZWNrIHRoZSBURFNEVU1QIHRyYWNlIGluIGF0dGFj aG1lbnQgKGZyZWV0ZHMtMjAxOS0xLmxvZykKPiA+Pj4+Cj4gPj4+PiB0b2tlbi5jOjE1NDE6dGRz N19nZXRfZGF0YV9pbmZvOgo+ID4+Pj4gICAgICAgICAgICBjb2xuYW1lID0gY29sMQo+ID4+Pj4g ICAgICAgICAgICB0eXBlID0gMzkgKHZhcmNoYXIpCj4gPj4+PiAgICAgICAgICAgIHNlcnZlcidz IHR5cGUgPSAyMzEgKHggVUNTLTIgdmFyY2hhcikgICAgICAgICAgIDwtLSAyMzEgPwo+ID4+Pj4g ICAgICAgICAgICBjb2x1bW5fdmFyaW50X3NpemUgPSAyCj4gPj4+PiAgICAgICAgICAgIGNvbHVt bl9zaXplID0gMjAgKDIwIG9uIHNlcnZlcikKPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4gVGhlIHNhbWUg cHJvZ3JhbSwgY29ubmVjdGluZyB0byBTUUwgU2VydmVyIDIwMTcgKHdlcmUgREIgY29sbGF0aW9u IGlzCj4gPj4gTGF0aW4xCj4gPj4+PiB3aXRob3V0IFVURi04KToKPiA+Pj4+Cj4gPj4+Pgo+ID4+ Pj4gdG9rZW4uYzoxNTQxOnRkczdfZ2V0X2RhdGFfaW5mbzoKPiA+Pj4+ICAgICAgICAgICAgY29s bmFtZSA9IGNvbDEKPiA+Pj4+ICAgICAgICAgICAgdHlwZSA9IDQ3IChjaGFyKQo+ID4+Pj4gICAg ICAgICAgICBzZXJ2ZXIncyB0eXBlID0gMTc1ICh4Y2hhcikgICAgICAgICAgPC0tIDE3NQo+ID4+ Pj4gICAgICAgICAgICBjb2x1bW5fdmFyaW50X3NpemUgPSAyCj4gPj4+PiAgICAgICAgICAgIGNv bHVtbl9zaXplID0gMTAgKDEwIG9uIHNlcnZlcikKPiA+Pj4+Cj4gPj4+PiBXaXRoIFNRTCBTZXJ2 ZXIgMjAxOSwgd2hlbiB1c2luZyBhbm90aGVyIGNvbGxhdGlvbiAobm9uLVVURi04KQo+ID4+Pj4K PiA+Pj4+ICAgICAgIENSRUFURSBUQUJMRSBteXRhYjIgKCBjb2wxIENIQVIoMTApIENPTExBVEUg TGF0aW4xX0dlbmVyYWxfQ0lfQVMgKQo+ID4+Pj4KPiA+Pj4+IEkgZ2V0IHRoZSBleHBlY3RlZCB0 ZHMgdHlwZSBjb2RlLi4uCj4gPj4+Pgo+ID4+Pj4gU2ViCj4gPj4+PiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4+Pj4gRnJlZVREUyBtYWlsaW5nIGxp c3QKPiA+Pj4+IEZyZWVURFNAbGlzdHMuaWJpYmxpby5vcmcKPiA+Pj4+IGh0dHBzOi8vbGlzdHMu aWJpYmxpby5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVldGRzCj4gPj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPj4+IEZyZWVURFMgbWFpbGluZyBs aXN0Cj4gPj4+IEZyZWVURFNAbGlzdHMuaWJpYmxpby5vcmcKPiA+Pj4gaHR0cHM6Ly9saXN0cy5p YmlibGlvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWV0ZHMKPiA+Pj4KPiA+Pgo+ID4+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPj4gRnJlZVREUyBt YWlsaW5nIGxpc3QKPiA+PiBGcmVlVERTQGxpc3RzLmliaWJsaW8ub3JnCj4gPj4gaHR0cHM6Ly9s aXN0cy5pYmlibGlvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWV0ZHMKPiA+Pgo+ID4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IEZyZWVURFMgbWFp bGluZyBsaXN0Cj4gPiBGcmVlVERTQGxpc3RzLmliaWJsaW8ub3JnCj4gPiBodHRwczovL2xpc3Rz LmliaWJsaW8ub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZXRkcwo+ID4KPgo+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gRnJlZVREUyBtYWlsaW5nIGxp c3QKPiBGcmVlVERTQGxpc3RzLmliaWJsaW8ub3JnCj4gaHR0cHM6Ly9saXN0cy5pYmlibGlvLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWV0ZHMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KRnJlZVREUyBtYWlsaW5nIGxpc3QKRnJlZVREU0BsaXN0cy5pYmli bGlvLm9yZwpodHRwczovL2xpc3RzLmliaWJsaW8ub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZXRk cwo=