-
Problème d'accent
Bonjour à tous,
Je viens solliciter votre aide car j'ai un souci d'accent sous SQL Server qui commence à me rendre dingue :marteau:.
Je m'explique j'ai une table 'meter' dans laquelle j'enregistre le nom d'un fabricant. Il s'agit de fabricants polonais et j'ai donc besoin d'utiliser des caractères spéciaux, par exemple APATOR TORUŃ.
Or la colonne qui contient le nom de ces fabricants est de type varchar(50). J'en ai modifié le type pour la faire devenir nvarchar(200) mais malgré cela je ne peux toujours pas y inserer ces caractères spéciaux.
ALTER TABLE meter
ALTER COLUMN manufacturer NVARCHAR(200)
Quand j'essaie de modifier les enregistrements APATOR TORUN pour les remplacer par APATOR TORUŃ, j'ai un message qui me confirme que les lignes ont été changées mais quand je fais un select sur ces lignes, je constate que l'accent n'est toujours pas pris en compte.
update meter set manufacturer = 'APATOR TORUŃ' where manufacturer = 'APATOR TORUN'
Auriez-vous une idée pour me sortir de ce pétrin :idea: .
Merci d'avance
-
Il y a 2 concepts différents dans votre problème:
- le jeu de caractères, et en utilisant du nvarchar (unicode), vous vous acquittez de la possibilité qu'un caractère n'existe pas dans le characterset choisi. En cela, votre stockage est correct
- la sensibilisation aux majuscules/minuscules/accents : afin que les caractères accentués soient différenciés ou non, il vous faut choisir un type de tri case sensitive/insensitive, accent sensitive/insensitive
Pour checker ce que vous avez actuellement:
-
Soyez plus précis dans votre demande et fournissez les scripts de ordres insérés et la sortie de requête.
Pour plus de précision sur les collations, lisez l'article que j'ai écrit :
http://sqlpro.developpez.com/cours/s...er/collations/
A +
-
Ok c'est trouvé merci pour votre aide.
En fait dans ma requête update j'ai mis un N devant le 'APATOR TORUŃ' et là tout rentre dans l'ordre. Apparemment, sans le N, le 'APATOR TORUŃ' était considéré comme un varchar et varchar ne doit pas disposer du symbole Ń.
update meter set manufacturer = N'APATOR TORUŃ' where manufacturer = 'APATOR TORUN'