Add feature to bind as SQLWCHAR
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript, node.js, sql
- Ambito
- databases
Direzione di ricerca
Inizia con il comportamento di binding per SQL_CHAR, SQL_VARCHAR e SQL_CLOB e confronta i percorsi SQL_C_CHAR e SQL_C_WCHAR descritti nell'issue. Esamina gli esempi #284, #290 e #291, quindi stabilisci se la modifica completata debba usare sempre SQLWCHAR con UNICODE o fornire un'opzione a runtime, con test che coprano il comportamento selezionato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Windows is very UTF-16 centric while Node.js is very UTF-8 centric. While it can also handle UTF-16, it does not deal with other encodings well at all (at least in the NAPI addon). As a result, the package has been built as UNICODE since July 2020. This has fixed many encoding issues, since various strings are now passed back and forth using UTF-16 without issue. However, when binding, SQL_CHAR, SQL_VARCHAR, and SQL_CLOB types are still bound as SQL_C_CHAR, not SQL_C_WCHAR. This works most of the time, but there have been many issues when databases are in the native Windows encoding (which outside of an experimental feature is never UTF-8). See #284 #290 and #291 for examples.
While some drivers have settings to use UTF-8 instead, that is driver-specific and not all do. It would be much better to either always bind as SQLWCHAR when UNICODE is defined (ie. Windows) or add a runtime option to enable it (enabled by default when UNICODE is?)
- Lingua principale
- JavaScript
- Stelle
- 159
- Fork
- 92
- Merge medio
- 5h 59m
- PR unite (30g)
- 3
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di IBM/node-odbc
-
doc: how to run the testsAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
security
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
[Bug] Sybase ASE: Encoding issue (works in msnodesqlv8, fails in node-odbc with \x1A artifacts)Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
Tutte le issue di IBM/node-odbc
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
schmayterling/hibi#245 ·
I maintainer di solito rispondono entro 1 giorno
-
factory-active task-identify-harness-labels-done task-identify-issue-type-done
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
vercel/ai#23304 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug package:vitest
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
cloudflare/workers-sdk#16255 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Proxy and MCP URLs with an empty authority parse as a different hostForse già presa @ericcaiwx-star l’ha presa oggi. Apertaclawsweeper:bulk-filed clawsweeper:linked-pr-open clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
openclaw/openclaw-enterprise#2384 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Access-request approve silently discards the decider's note (decision_note written only on deny)Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Uuriko/project-room#3378 ·
I maintainer di solito rispondono entro 1 giorno