SELEZIONA COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage') Ecco i risultati delle domande:
GBK cinese semplificato 936 950 Tradizionale cinese BIG5 437 inglese USA/Canada Giapponesi del 932 Coreano del 949 866 Russo 65001 unicode UFT-8
Quando installavamo SQL SERVER 2008, poiché avevamo scelto l'installazione predefinita, l'abbiamo creataQuando si fa database, la regola di ordinamento predefinita selezionata dal server è una regola di collazione SQL_Latin1_General_CP1_CI_AS, così che quando si inserisce testo nella tabella dati, non verrà visualizzato normalmente, tutto con "? invece.
Poi, quando creiamo un database, dobbiamo specificare manualmente una regola di collazione, che può essere selezionata come Chinese_PRC_CI_AS collation, come mostrato nella figura qui sotto
Regole di smistamento:
Le regole di ordinamento usate in SQLSEVER2005 sono SQL_Latin1_General_CP1_CI_AS, non le tre regole di ordinamento che possono mostrare correttamente i caratteri cinesi semplificati:
Chinese_PRC_BIN,
Chinese_PRC_CI_AS,
Chinese_PRC_CS_AS。
Dai un'occhiata alla spiegazione di Microsoft sulla collazione: Le regole di collazione controllano la memorizzazione fisica delle stringhe in SQL Server 2005. Le regole di collazione specificano il pattern di bit che rappresenta ogni carattere e le regole per memorizzare e confrontare l'uso dei caratteri.
Cioè, in SQLSERVER, la collazione è in realtà la codifica dei caratteri.
Eseguendo la seguente istruzione nell'analizzatore di query, puoi ottenere tutte le regole di collation supportate da SQL SERVER.
seleziona * da ::fn_helpcollations()
Il nome della collation è composto da due parti, la prima si riferisce al set di caratteri supportato da questa collation.
Per esempio: Chinese_PRC_CS_AI_WS
La prima metà si riferisce al set di caratteri UNICODE, e Chinese_PRC_refers alle regole di ordinamento per il caratteri cinese semplificato UNICODE.
La seconda metà della collazione è il significato del suffisso:
_BIN Ordinamento binario
_CI(CS) Che sia sensibile a maiuscole e a caso, che la CI non sia sensibile e la CS sia sensibile
_AI (AS) Se distinguere tra accenti, l'IA non distingue, AS distingue
_KI(KS) Se distinguere tra tipi di pseudonimi, KI non lo fa, KS distingue
_WI(WS) non è distinto per larghezza, WS non è differenziato
Sensibile alla maiuscoloscola: Seleziona questa opzione se vuoi confronti per considerare le lettere maiuscole e minuscole come disuguali.
Distingui tra accenti: Seleziona questa opzione se vuoi confronti per considerare le lettere accentuate e non accentate come disuguali. Se selezioni quell'opzione, il confronto considera anche le lettere con accenti diversi come disuguali.
Distingui Kana: Seleziona questa opzione se vuoi il confronto per trattare le sillabe Katakana e Hiraka Day come disuguali.
Differenziazione in larghezza: seleziona questa opzione se vuoi che il confronto tratti i caratteri a mezza larghezza e a piena larghezza come diseguali.
Dopo aver compreso le regole di collazione in SQLSERVER, si possono trarre le seguenti conclusioni per il problema sopra:
1. Modificare il database utenti SQLSERVER per supportare il collaggio di set di caratteri cinesi.
2: Per la visualizzazione dei caratteri cinesi??, ma non si vogliono modificare le regole di ordinamento nel database e si vogliono visualizzare correttamente i caratteri cinesi, si raccomanda di utilizzare tutti i campi di tipo Unicode nel design, cioè quei tipi di campo che iniziano con N, come nChar, nVarchar, per visualizzare correttamente i caratteri cinesi.
3: Se non vuoi cambiare la regola di collation o il tipo di campo, devi modificare l'istruzione SQL e, per tutti i caratteri cinesi, devi anche aggiungere N davanti per mostrarla correttamente. Si prega di fare riferimento alle seguenti due affermazioni per metodi specifici:
Richiesta: seleziona * da tb_Cust dove Nome=N'Wang'
Inserimento: inserire valori tb_Cust(Nome, Cognome, Sesso) (N'Wang', N'Xinhao', N'Male')
Nota: Per il futuro sarà più complicato modificare la regola di collation a livello di server dopo SQLSERVER2000, ed è necessario ricostruire il database master.
Attualmente, per i database già creati, possiamo anche modificare il metodo di collation nella pagina delle opzioni nella finestra delle proprietà del database, così che quando inseriamo testo nella tabella dati non ci saranno messaggi di errore!
|