Trois questions avec le scénario suivant:La base de données SQL Server avec la page de codes Latin1 affiche les caractères japonais comme "?"
- production SQL Server 2005 db avec une page de code Latin1 et montrant "?" pour les caractères invalides dans Management Studio.
- Client SomeCompanyApp en tant que service qui remplit les données des serveurs et des stations de travail.
- Console de gestion SomeCompanyApp indiquant "?" pour les caractères asiatiques.
Puisqu'il s'agit d'un prod DB, je ne vais pas écrire dessus. Je ne sais pas si l'application cliente qui stocke les données dans la base de données la stocke correctement en Unicode et qu'elle ne s'affiche tout simplement pas car elle utilise Latin1 pour la console.
Q1: Si je comprends bien, SQL Server stocke le texte nvarchar Unicode quel que soit le codepage ou suis-je complètement faux et si la page de code est Latin1 alors tout ce qui est pas dans cette page de code est converti en « ? ».
Q2: Est-ce la même chose avec une colonne de texte? Y at-il un moyen d'utiliser SQL Server Management Studio ou Visual Studio et du code (peu importe quelle langue :)) pour interroger la base de données et me montrer si les caractères apparaissent réellement en japonais, Chinois, coréen, etc.? Mon but final est d'extraire des données de la base de données et de les stocker dans une autre base de données en utilisant UTF-8 pour montrer les caractères japonais et autres caractères asiatiques comme ils sont dans ma propre application web client. Je vais me contenter d'une réponse à Q3. Je peux coder dans plusieurs langues et à tout le moins en comprendre d'autres, mais je ne suis pas assez informé sur Unicode. Dans le cas où vous voulez savoir ma webapp utilisera pyodbc et cassandra mais pour ces questions ce n'est pas grave.
Ma compréhension de nvarchar est également sur vos lignes. Êtes-vous capable d'utiliser une instruction directe 'insert' dans Management Studio et de stocker des caractères japonais dans ces colonnes? –
Production db, je ne veux rien faire d'autre que de lire.De plus, puisque nvarchar par réponse précédente stocke l'information unicode, cela dépend de ce que fait l'application qui écrit dessus. – Marlon