Re: SQL Server 2019: CHAR(N) using UTF-8 is seen as SQL_NVARCHAR by SQLDescribeCol()
Sebastien FLAESCH <[email protected]> Thu, 28 Feb 2019 15:19:11 +0100
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Organization | Four Js Development Tools |
| Message-ID | <[email protected]> |
R3JlYXQhIFRoYW5rcyBmb3IgbG9va2luZyBhdCB0aGlzIQoKSSBndWVzcyB0aGUgaWRlYSBpcyB0 byB1c2UgVVRGLTggaW4gdGhlIHdob2xlIGNoYWluOgoKQ2xpZW50IE9EQkMgYXBwIChjaGFyKikg aW4gVVRGLTggPD0+ICBURFMgIDw9PiBVVEYtOCBjaGFyL3ZhcmNoYXIgY29sdW1uCgpJbnN0ZWFk IG9mIGhhdmluZyB1bi1uZWNlc3NhcnkgY2hhcnNldCBjb252ZXJzaW9uczoKCkNsaWVudCBPREJD IGFwcCAoY2hhciopIGluIFVURi04IDw9PiBVVEYtMTYgPD0+IFREUyA8PT4gVVRGLTE2IDw9PiBV VEYtOCBjaGFyL3ZhcmNoYXIgY29sdW1uCgpKdXN0IGd1ZXNzaW5nLCBJIGFtIG5vdCBhIFREUyBw cm90b2NvbCBleHBlcnQuCgpTZWIKCk9uIDIvMjgvMTkgMTE6NTYgQU0sIEZyZWRpYW5vIFppZ2xp byB3cm90ZToKPiBIaSwKPiAgICBzbywgaW5zdGFsbGVkIGEgc3FsIDIwMTkgYW5kIHRyaWVkIHNv bWUgcXVlcmllcy4KPiBVc2luZyB0aGUgZHJpdmVyIHByb3ZpZGVkIGluc2lkZSB0aGUgZG9ja2Vy IGltYWdlIHRoZSAiYWJjIiBpcwo+IHJldHVybmVkIGFzICJhYmMgICAgICAgIiwgc28KPiB0aGUg Q0hBUigxMCkgYXJlIHJldHVybmVkIGVuY29kZWQgaW4gVVRGLTggYW5kIHRoZSAiMTAiIGlzIGp1 c3QgdGhlCj4gbnVtYmVyIG9mIGJ5dGVzLgo+IE5vdywgd2h5IHRoZSBzZXJ2ZXIgZGVjaWRlZCB0 byByZXR1cm4gVVRGLTggYW5kIG5vdCBjb252ZXJ0IHRvIE5WQVJDSEFSICh3aGljaAo+IG1ha2Ug c2Vuc2UgdG8gbWUgZm9yIG9sZCBjbGllbnRzKSBpdCdzIHRoZSBpc3N1ZS4gTWF5YmUgdGhleSBi dW1wIHRoZQo+IHByb3RvY29sIHZlcnNpb24sCj4gbWF5YmUgdGhleSBhcmUgdXNpbmcgc29tZSBv dGhlciBmbGFncy92ZXJzaW9uIChsaWtlIGNsaWVudCB2ZXJzaW9uCj4gcGFzc2VzIHRocm91Z2gK PiB0aGUgcHJlLWxvZ2luKS4gVW5mb3J0dW5hdGVseSB0aGUgbG9naW4gaXMgZW5jcnlwdGVkIHNv IEknbGwgaGF2ZSB0bwo+IGRpZyBhIGJpdCBtb3JlICh3ZWxsLAo+IGp1c3QgcXVlc3Rpb24gb2Yg c2V0dXAgYW5kIHVzZSB0aGUgYm91bmNlIHV0aWxpdHksIG5vdCBzdXJlIGlmIGl0Cj4gc3VwcG9y dHMgcHJlLWxvZ2luKS4KPiAKPiBGcmVkaWFubwo+IAo+IElsIGdpb3JubyBnaW8gMjggZmViIDIw MTkgYWxsZSBvcmUgMTA6NTAgU2ViYXN0aWVuIEZMQUVTQ0gKPiA8c2ZANGpzLmNvbT4gaGEgc2Ny aXR0bzoKPj4KPj4gSGVsbG8gQ3JhaWcsCj4+Cj4+IEkgZG9uJ3QgdGhpbmsgc286IEFuIE9EQkMg cHJvZ3JhbSBzaG91bGQgYmUgYWJsZSB0byBwcm9wZXJseSBpZGVudGlmeQo+PiAoYXMgbXVjaCBh cyBwb3NzaWJsZSkgdGhlIG9yaWdpbmFsIGRhdGFiYXNlIHR5cGUgdXNlZCBmb3IgYSBjb2x1bW4u Cj4+Cj4+IFdlIG11c3QgYWxzbyBkaXN0aW5ndWlzaCB0aGUgY29uY2VwdCBvZiAidmFyaWFibGUg bGVuZ3RoIiByZWdhcmRpbmcgdGhlCj4+IG51bWJlciBvZiBieXRlcyB1c2VkIHRvIGVuY29kZSBj aGFyYWN0ZXJzLCB2ZXJzdXMgdGhlIGFjdHVhbCBsZW5ndGggb2YKPj4gdGhlIHN0cmluZyBpbiBj aGFyYWN0ZXIgdW5pdHMuCj4+Cj4+IFBsdXMgdGhlIGZhY3QgdGhhdCBbTl1DSEFSIGNvbHVtbnMg Y2FuIGJlIGJsYW5rLXBhZGRlZCwgd2hpbGUgW05dVkFSQ0hBUgo+PiBjb2x1bW5zIGFyZSBub3Qg YW5kIHN0b3JlIHRoZSBhY3R1YWwgbnVtYmVyIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcyBvZgo+ PiB0aGUgc3RyaW5nLCB0cnkgZm9yIGV4Ogo+Pgo+PiBjcmVhdGUgdGFibGUgdGFiMSAoIGMxIGNo YXIoMTApLCBjMiB2YXJjaGFyKDEwKSApCj4+IGluc2VydCBpbnRvIHRhYjEgdmFsdWVzICggJ2Fi YycsICdhYmMgICcgKQo+PiBzZWxlY3QgJ1snK2MxKyddJywgJ1snK2MyKyddJyBmcm9tIHRhYjEK Pj4KPj4gWW91IHdpbGwgc2VlOgo+Pgo+PiBbYWJjICAgICAgIF0gW2FiYyAgXQo+Pgo+PiAoY2hl Y2sgU0VUIEFOU0lfUEFERElORyBPTi9PRkYpCj4+Cj4+IC4uLgo+Pgo+PiBVVEYtOCBpcyBhIHZh cmlhYmxlLXdpZHRoIGVuY29kaW5nOgo+Pgo+PiBhICA9PiBuZWVkcyAxIGJ5dGUKPj4gw6kgID0+ IG5lZWRzIDIgYnl0ZXMKPj4g5pyoID0+IG5lZWRzIDMgYnl0ZXMKPj4gLi4uIGV0YyAodGhlcmUg Y2FuIGJlIG1vcmUgdGhhbiAzIGJ5dGVzKQo+Pgo+PiBJbiB0aGF0IGNvbnRleHQsIG9uZSBjYW4g c2VlIGEgInZhcmlhYmxlIGxlbmd0aCIgaW4gYnl0ZSB1bml0cy4uLgo+Pgo+PiBCdXQgd2hlbiBj b3VudGluZyBpbiBjaGFyYWN0ZXJzLCAnYcOp5pyoJyBpcyAzIGNoYXJhY3RlcnMsIG5vIG1hdHRl ciB0aGUKPj4gZW5jb2RpbmcgdXNlZCB0byBzdG9yZSB0aGlzIHN0cmluZy4KPj4KPj4gWW91IGhh dmUgYWxzbyB0aGUgY29uY2VwdCBvZiBieXRlLWxlbmd0aCBzZW1hbnRpY3MgdmVyc3VzIGNoYXIt bGVuZ3RoCj4+IHNlbWFudGljczogV2hlbiBjcmVhdGluZyBhIENIQVIoMTApIGlzIHRoaXMgMTAg Ynl0ZXMgb3IgMTAgY2hhcmFjdGVycz8KPj4gRGVwZW5kaW5nIG9uIHRoZSBkYXRhYmFzZSBicmFu ZCwgaXQncyBieXRlcyAoU1FMIFNlcnZlciksIGNoYXJhY3RlcnMKPj4gKFBvc3RncmVTUUwpLCBv ciBpdCBjYW4gZXZlbiBiZSBhIG1peCBhbmQgc3BlY2lmaWVkIGV4cGxpY2l0bHkgKGxpa2UKPj4g aW4gT3JhY2xlIERCKS4KPj4KPj4gTm90ZTogWW91IGhhdmUgdGhlbiBhbHNvIHRoZSBjb25jZXB0 IG9mICJ3aWR0aCIgb3IgIm51bWJlciBvZiBjb2x1bW5zIjoKPj4gQSBsYXRpbiBjaGFyYWN0ZXIg dGFrZXMgb25lIGNvbHVtbiwgd2hpbGUgYW4gQXNpYW4gbG9nb2dyYW0gdGFrZXMgMi4KPj4gU2Vl IHdjd2lkdGgoKSBmb3IgbW9yZSBkZXRhaWxzLgo+Pgo+PiAuLi4KPj4KPj4gSW4gU1FMIFNlcnZl ciwgTkNIQVIgYW5kIE5WQVJDSEFSIGNhbiBzdG9yZSBVVEYtMTYgd2hlbiB0aGUgU0MgbW9kaWZp ZXIKPj4gaXMgdXNlZCBpbiB0aGUgZGF0YWJhc2UgY29sbGF0aW9uICh0aGV5IHN0b3JlIFVDUy0y IHdoZW4gbm8gU0MgaXMgdXNlZCkKPj4KPj4gSW4gVVRGLTE2LCBhIGZpcnN0IHJhbmdlIG9mIGNo YXJhY3RlcnMgYXJlIGVuY29kZWQgb24gMiBieXRlcywgYnV0IHlvdQo+PiBjYW4gaGF2ZSAic3Vy cm9nYXRlIHBhaXJzIiBlbmNvZGVkIG9uIDQgYnl0ZXMgKHR3byAxNi1iaXQgY29kZSB1bml0cyku Cj4+Cj4+IEluIHlvdXIgbG9naWMsIHRoZSBOQ0hBUi9VVEYtMTYgdHlwZSBjb3VsZCBhbHNvIGJl IGNvbnNpZGVyZWQgYXMgYQo+PiAidmFyaWFibGUgbGVuZ3RoIiB0eXBlIGFuZCBTUUxEZWNyaWJl Q29sKCkgY291bGQgcmV0dXJuIFNRTF9XVkFSQ0hBUgo+PiBpbnN0ZWFkIG9mIFNRTF9XQ0hBUi4u LiBJdCBtdXN0IG5vdCBhbmQgZG9lcyBub3QuCj4+Cj4+IENoZWVycywKPj4gU2ViCj4+Cj4+Cj4+ IE9uIDIvMjcvMTkgNDozMiBQTSwgQ3JhaWcgSmFja3NvbiB3cm90ZToKPj4+IEkgZG9uJ3Qga25v dyBhbnl0aGluZyBhYm91dCBTUUwgU2VydmVyIDIwMTksIGJ1dCBpZiB0aGV5IGFkZGVkIHRoZSBv cHRpb24KPj4+IHRvIGFsbG93IFVURi04IGVuY29kaW5nIG9mIGNoYXJhY3RlciBzdHJpbmdzLCBp dCB3b3VsZCBzZWVtIG5hdHVyYWwgdGhhdAo+Pj4gc2FpZCBzdHJpbmdzIHdvdWxkIGJlIHZhcmlh YmxlLWxlbmd0aCwgZXZlbiBpZiBkZWNsYXJlZCBDSEFSKG4pLiBTdHJpbmdzCj4+PiBlbmNvZGVk IGluIFVURi04IGFyZSBpbmhlcmVudGx5IHZhcmlhYmxlIGxlbmd0aC4KPj4+Cj4+PiBDcmFpZyBK YWNrc29uCj4+Pgo+Pj4gT24gV2VkLCBGZWIgMjcsIDIwMTkgYXQgMTA6MjcgQU0gU2ViYXN0aWVu IEZMQUVTQ0ggPHNmQDRqcy5jb20+IHdyb3RlOgo+Pj4KPj4+PiBIaSwKPj4+Pgo+Pj4+IEp1c3Qg dHJpZWQgd2l0aCBURFMgNy40LCBpdCBkaWQgbm90IGhlbHAuCj4+Pj4KPj4+PiBJIGhhdmUgdGVz dGVkIHRoZSBNUyBPREJDIGRyaXZlciAxNy4zLjEuMSwgaXQgd29ya3MgYXMgZXhwZWN0ZWQKPj4+ PiAoIEkgZ2V0IDEvU1FMX0NIQVIgZnJvbSBTUUxEZXNjcmliZUNvbCgpICkKPj4+Pgo+Pj4+IFlv dSBtYXkga25vdyB0aGF0IGl0J3MgdmVyeSBlYXN5IHRvIHNldHVwIGFuIFNRTCBTZXJ2ZXIgMjAx OSB3aXRoCj4+Pj4gZG9ja2VyLCBkbyB5b3U/Cj4+Pj4KPj4+PiBDaGVlcnMsCj4+Pj4gU2ViCj4+ Pj4KPj4+PiBPbiAyLzI3LzE5IDM6MDggUE0sIEZyZWRpYW5vIFppZ2xpbyB3cm90ZToKPj4+Pj4g SGksCj4+Pj4+ICAgICAgSSB3b3VsZCB0cnkgdG8gdXNlIFREUyA3LjQsIG5vdCA3LjMuCj4+Pj4+ IEFsc28gSSB3b3VsZCB0cnkgdG8gdXNlIE1pY3Jvc29mdCBPREJDIGRyaXZlciBhbmQgYSBuZXR3 b3JrIGFuYWx5emVyCj4+Pj4+IChsaWtlIHdpcmVzaGFyaykuCj4+Pj4+Cj4+Pj4+IFJlZ2FyZHMs Cj4+Pj4+ICAgICAgRnJlZGlhbm8KPj4+Pj4KPj4+Pj4gSWwgZ2lvcm5vIG1hciAyNiBmZWIgMjAx OSBhbGxlIG9yZSAxMToyNiBTZWJhc3RpZW4gRkxBRVNDSAo+Pj4+PiA8c2ZANGpzLmNvbT4gaGEg c2NyaXR0bzoKPj4+Pj4+Cj4+Pj4+PiBUZXN0aW5nIEZyZWVURFMgMS4xcmMzIHdpdGggU1FMIFNl cnZlciAyMDE5Ogo+Pj4+Pj4KPj4+Pj4+IEkgZ2V0IGFuIHVuZXhwZWN0ZWQgU1FMIHR5cGUgY29k ZSB3aXRoIGEgQ0hBUigxMCkgY29sdW1uLCB3aGVuIHRoZQo+Pj4+Pj4gZGF0YWJhc2UgY29sbGF0 aW9uIGlzIHVzaW5nIFVURi04Lgo+Pj4+Pj4KPj4+Pj4+IEluc3RlYWQgb2YgU1FMX0NIQVIgKG9y IFNRTF9XQ0hBUiksIEkgZ2V0IFNRTF9XVkFSQ0hBUi4KPj4+Pj4+Cj4+Pj4+PiBJIGhhdmUgY3Jl YXRlZCBhIGRhdGFiYXNlIHdpdGggdGhpcyBjb2xsYXRpb246Cj4+Pj4+Pgo+Pj4+Pj4gICAgICAg TGF0aW4xX0dlbmVyYWxfMTAwX0NJX0FTX1NDX1VURjgKPj4+Pj4+Cj4+Pj4+PiBUaGVuIGNyZWF0 ZWQgYSB0YWJsZSBsaWtlIHRoaXM6Cj4+Pj4+Pgo+Pj4+Pj4gICAgICAgQ1JFQVRFIFRBQkxFIG15 dGFiMSAoIGNvbDEgQ0hBUigxMCkgKQo+Pj4+Pj4KPj4+Pj4+IGFuZCBpbnNlcnRlZCBhIHJvdzoK Pj4+Pj4+Cj4+Pj4+PiAgICAgICBJTlNFUlQgSU5UTyBteXRhYjEgVkFMVUVTICggJ2FiYycgKQo+ Pj4+Pj4KPj4+Pj4+IFRoZW4gaW4gdGhlIE9EQkMgcHJvZ3JhbToKPj4+Pj4+Cj4+Pj4+PiAgICAg ICBTUUxFeGVjRGlyZWN0KC4uIlNFTEVDVCAqIEZST00gbXl0YWIxIi4uKQo+Pj4+Pj4gICAgICAg U1FMRGVzY3JpYkNvbCguLi4pCj4+Pj4+Pgo+Pj4+Pj4gQ2hlY2sgdGhlIFREU0RVTVAgdHJhY2Ug aW4gYXR0YWNobWVudCAoZnJlZXRkcy0yMDE5LTEubG9nKQo+Pj4+Pj4KPj4+Pj4+IHRva2VuLmM6 MTU0MTp0ZHM3X2dldF9kYXRhX2luZm86Cj4+Pj4+PiAgICAgICAgICAgICBjb2xuYW1lID0gY29s MQo+Pj4+Pj4gICAgICAgICAgICAgdHlwZSA9IDM5ICh2YXJjaGFyKQo+Pj4+Pj4gICAgICAgICAg ICAgc2VydmVyJ3MgdHlwZSA9IDIzMSAoeCBVQ1MtMiB2YXJjaGFyKSAgICAgICAgICAgPC0tIDIz MSA/Cj4+Pj4+PiAgICAgICAgICAgICBjb2x1bW5fdmFyaW50X3NpemUgPSAyCj4+Pj4+PiAgICAg ICAgICAgICBjb2x1bW5fc2l6ZSA9IDIwICgyMCBvbiBzZXJ2ZXIpCj4+Pj4+Pgo+Pj4+Pj4KPj4+ Pj4+IFRoZSBzYW1lIHByb2dyYW0sIGNvbm5lY3RpbmcgdG8gU1FMIFNlcnZlciAyMDE3ICh3ZXJl IERCIGNvbGxhdGlvbiBpcwo+Pj4+IExhdGluMQo+Pj4+Pj4gd2l0aG91dCBVVEYtOCk6Cj4+Pj4+ Pgo+Pj4+Pj4KPj4+Pj4+IHRva2VuLmM6MTU0MTp0ZHM3X2dldF9kYXRhX2luZm86Cj4+Pj4+PiAg ICAgICAgICAgICBjb2xuYW1lID0gY29sMQo+Pj4+Pj4gICAgICAgICAgICAgdHlwZSA9IDQ3IChj aGFyKQo+Pj4+Pj4gICAgICAgICAgICAgc2VydmVyJ3MgdHlwZSA9IDE3NSAoeGNoYXIpICAgICAg ICAgIDwtLSAxNzUKPj4+Pj4+ICAgICAgICAgICAgIGNvbHVtbl92YXJpbnRfc2l6ZSA9IDIKPj4+ Pj4+ICAgICAgICAgICAgIGNvbHVtbl9zaXplID0gMTAgKDEwIG9uIHNlcnZlcikKPj4+Pj4+Cj4+ Pj4+PiBXaXRoIFNRTCBTZXJ2ZXIgMjAxOSwgd2hlbiB1c2luZyBhbm90aGVyIGNvbGxhdGlvbiAo bm9uLVVURi04KQo+Pj4+Pj4KPj4+Pj4+ICAgICAgICBDUkVBVEUgVEFCTEUgbXl0YWIyICggY29s MSBDSEFSKDEwKSBDT0xMQVRFIExhdGluMV9HZW5lcmFsX0NJX0FTICkKPj4+Pj4+Cj4+Pj4+PiBJ IGdldCB0aGUgZXhwZWN0ZWQgdGRzIHR5cGUgY29kZS4uLgo+Pj4+Pj4KPj4+Pj4+IFNlYgo+Pj4+ Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+Pj4+ IEZyZWVURFMgbWFpbGluZyBsaXN0Cj4+Pj4+PiBGcmVlVERTQGxpc3RzLmliaWJsaW8ub3JnCj4+ Pj4+PiBodHRwczovL2xpc3RzLmliaWJsaW8ub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZXRkcwo+ Pj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4+ PiBGcmVlVERTIG1haWxpbmcgbGlzdAo+Pj4+PiBGcmVlVERTQGxpc3RzLmliaWJsaW8ub3JnCj4+ Pj4+IGh0dHBzOi8vbGlzdHMuaWJpYmxpby5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVldGRzCj4+ Pj4+Cj4+Pj4KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+Pj4+IEZyZWVURFMgbWFpbGluZyBsaXN0Cj4+Pj4gRnJlZVREU0BsaXN0cy5pYmlibGlv Lm9yZwo+Pj4+IGh0dHBzOi8vbGlzdHMuaWJpYmxpby5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVl dGRzCj4+Pj4KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4+PiBGcmVlVERTIG1haWxpbmcgbGlzdAo+Pj4gRnJlZVREU0BsaXN0cy5pYmlibGlvLm9y Zwo+Pj4gaHR0cHM6Ly9saXN0cy5pYmlibGlvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWV0ZHMK Pj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4+IEZyZWVURFMgbWFpbGluZyBsaXN0Cj4+IEZyZWVURFNAbGlzdHMuaWJpYmxpby5vcmcKPj4g aHR0cHM6Ly9saXN0cy5pYmlibGlvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWV0ZHMKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEZyZWVURFMgbWFp bGluZyBsaXN0Cj4gRnJlZVREU0BsaXN0cy5pYmlibGlvLm9yZwo+IGh0dHBzOi8vbGlzdHMuaWJp Ymxpby5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVldGRzCj4gCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlVERTIG1haWxpbmcgbGlzdApGcmVlVERT QGxpc3RzLmliaWJsaW8ub3JnCmh0dHBzOi8vbGlzdHMuaWJpYmxpby5vcmcvbWFpbG1hbi9saXN0 aW5mby9mcmVldGRzCg==