È possibile avere un campo in SQLServer in grado di memorizzare caratteri cinesi, coreani ed europei? I miei personaggi cinesi diventano solo ?????Campo database SQL Server per gestire caratteri coreani e cinesi
Anche il tipo di dati è NVARCHAR.
È possibile avere un campo in SQLServer in grado di memorizzare caratteri cinesi, coreani ed europei? I miei personaggi cinesi diventano solo ?????Campo database SQL Server per gestire caratteri coreani e cinesi
Anche il tipo di dati è NVARCHAR.
NVARCHAR
è il tipo corretto per questo: memorizza tutto in Unicode a 2 byte.
ciò che è necessario prestare attenzione è quando si lavora con NVARCHAR
campi in SQL Server Management Studio - è assolutamente necessario utilizzare il prefisso N'....'
in questo caso!
Se si utilizza questo:
INSERT INTO dbo.YourTable(NVarcharColumn)
VALUES('Some Chinese text here')
poi SSMS sarà temporaneamente convertire la stringa letterale specificata in VARCHAR
e quindi perderai tutti i caratteri Unicode codificati (non Unicode!).
Tuttavia, se si utilizza:
INSERT INTO dbo.YourTable(NVarcharColumn)
VALUES(N'Some Chinese text here')
(! Notare il prefisso N prima della stringa letterale) poi SSMS si occuperà di tutto come Unicode per tutto il tempo, e il vostro cinese o coreano (o altro) i caratteri speciali dovrebbero essere preservati.
grazie per questo, non sembra funzionare però .. Ho la sensazione che mi manchi qualche impostazione da qualche parte? – Alessandro
@Alessandro: stai cercando di gestire i dati in SSMS o da un'applicazione client? Inoltre: quale collation usi sul tuo server e sul tuo database ?? –
Tramite un'applicazione web basata su coldfusion. Anche se ho provato quello script direttamente in SSMS SERVER COLLATION: SQL_Latin1_General_CP1_CI_AS DB COLLATION: SQL_Latin1_General_CP1_CI_AS – Alessandro
Hai bisogno di memorizzare anche l'inglese? –
Ciao ardman - Sì anche l'inglese – Alessandro