Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 13630|Respuesta: 0

[Consejos] Ver sentencias SQL en formato de codificación SQLserver y reglas de recopilación de SQL Server

[Copiar enlace]
Publicado en 27/10/2016 12:50:16 | | | |
SELECCIONAR COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
Aquí están los resultados de la consulta:
936 chino simplificado GBK
950 Tradicional Chino BIG5
437 Inglés de EE. UU./Canadá
932 japoneses
949 Coreano
866 ruso
Unicode 65001 UFT-8




Al instalar SQL SERVER 2008, porque elegimos la instalación predeterminada, la creamosCuando se utiliza base de datos, la regla de ordenación predeterminada seleccionada por el servidor es una regla de SQL_Latin1_General_CP1_CI_AS de recopilación, de modo que al insertar texto en la tabla de datos, no se mostrará normalmente, todo con "? en lugar de.
Luego, cuando creamos una base de datos, necesitamos especificar manualmente una regla de recopilación, que puede seleccionarse como Chinese_PRC_CI_AS recopilación, como se muestra en la figura siguiente





Reglas de clasificación:
Las reglas de ordenación usadas en SQLSEVER2005 son SQL_Latin1_General_CP1_CI_AS, no las tres reglas que pueden mostrar correctamente caracteres chinos simplificados:
Chinese_PRC_BIN,
Chinese_PRC_CI_AS,
Chinese_PRC_CS_AS。
Echa un vistazo a la explicación de Microsoft sobre la recopilación: Las reglas de colación controlan el almacenamiento físico de cadenas en SQL Server 2005. Las reglas de colación especifican el patrón de bits que representa cada carácter y las reglas para almacenar y comparar el uso de caracteres.
Es decir, en SQLSERVER, la recopilación es en realidad la codificación de caracteres.
Al ejecutar la siguiente instrucción en el analizador de consultas, puedes obtener todas las reglas de recopilación soportadas por SQL SERVER.
select * de ::fn_helpcollations()
El nombre de la colación consta de dos partes, la primera parte se refiere al conjunto de caracteres soportado por esta colación.
Por ejemplo: Chinese_PRC_CS_AI_WS
La primera mitad se refiere al conjunto de caracteres UNICODE, y Chinese_PRC_refers a las reglas de ordenación para el carácter chino simplificado UNICODE.
La segunda mitad de la colación es el significado del sufijo:
_BIN Ordenamiento binario
_CI(CS) Si es sensible a mayúsculas y minúsculas, si la CI no es sensible y la CS es sensible
_AI (AS) Si para distinguir entre acentos, la IA no distingue, la AS distingue
_KI(KS) Si distinguir entre tipos de seudónimos, KI no, KS distingue
_WI(WS) no se distingue por anchura, WS no se diferencia
Sensible a mayúsculas: Selecciona esta opción si quieres comparaciones para tratar las letras mayúsculas y minúsculas como desiguales.
Distingue entre acentos: Selecciona esta opción si quieres comparaciones para tratar las letras acentuadas y las no acentuadas como desiguales. Si seleccionas esa opción, la comparación también considera desiguales las letras con diferentes acentos.
Distinguir Kana: Selecciona esta opción si quieres la comparación para tratar las sílabas de Katakana y Hiraka Day como desiguales.
Diferenciación de ancho: Selecciona esta opción si quieres que la comparación trate los caracteres de medio ancho y ancho completo como desiguales.
Tras entender las reglas de clasificación en SQLSERVER, se pueden extraer las siguientes conclusiones para el problema anterior:
1. Modificar la base de datos de usuarios de SQLSERVER para soportar la recopilación de conjuntos de caracteres chinos.
2: Para mostrar caracteres chinos??, pero no quieres cambiar las reglas de ordenación en la base de datos y quieres mostrar correctamente los caracteres chinos, se recomienda usar todos los campos de tipos Unicode en el diseño, es decir, aquellos tipos de campos que comienzan por N, como nChar, nVarchar, para mostrar correctamente los caracteres chinos.
3: Si no quieres cambiar la regla de clasificación o el tipo de campo, entonces tienes que cambiar la instrucción SQL, y para todos los caracteres chinos también debes añadir una N delante para mostrarla correctamente. Por favor, consulte las siguientes dos afirmaciones para métodos específicos:
Consulta: seleccione * de tb_Cust donde Nombre=N'Wang'
Insertar: insertar tb_Cust(Nombre, Apellido, Sexo) valores (N'Wang', N'Xinhao', N'Male')
Nota: Para el futuro, será más complicado modificar la regla de clasificación a nivel de servidor tras SQLSERVER2000, y es necesario reconstruir la base de datos maestra.

Actualmente, para bases de datos que ya se han creado, también podemos cambiar el método de clasificación en la página de opciones de la ventana de propiedades de la base de datos, de modo que al insertar texto en la tabla de datos no haya mensajes de error.





Anterior:SQL determina si una columna contiene caracteres chinos o ingleses
Próximo:SQL determina si una columna contiene caracteres chinos o ingleses
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com