FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Algunas razones...
Cita:
Otra cosa que note es que al insertar campos que contienen á, é, í, ó, ú, ñ, Ñ (y algunos otros como la u con diéresis), efectivamente utilizaban dos caracteres. Esto me acarreo el siguiente problema: la función CHAR_LENGTH me reporta un conteo mayor en la longitud de la cadena. Tengo funciones que hacen el cálculo automático del RFC (CIF para otro países) y dejaron de funcionar correctamente. Como pueden ver, estos son los problemas que me he encontrado al tratar de utilizar UTF8. Al menos para mi si son algunas razones para no utilizarlo (por el momento), sin embargo, me pregunto si hay alguien en el foro que ya haya sorteado todos estos problemas. Tal vez nos pueda comentar y nos convenza de que es mejor opción UTF8. Saludos, Gerardo Suárez Trejo Un saludo a Guillotemarc, sus comentarios siempre me parecen atinados y enriquecedores en la mayoría de los casos. |
#2
|
||||
|
||||
Cita:
|
#3
|
|||
|
|||
Confundido...
Casimiro:
O no te sabes explicar , o yo no te entiendo..... porque no te sabes explicar.... (je, je, je) una pequeña broma.
Procedimiento almacenado que convierte un vocal acentuado a una vocal sin acento.... (se puede extender fácilmente para vocales con acento circunflejo en caso de idiomas como el Francés y el Portugués (creo).
Procedimiento almacenado que calcula (en automático) el RFC de una persona utilizando su Nombre, Apellido Paterno, Apellido Materno y su fecha de nacimiento. Como te puedes dar cuenta, este último procedimiento almacenado uso la función CHAR_LENGTH. Si utilizo UTF8 la longitud de la cadena es errónea, además de no encontrar las vocales acentuadas puesto que ahora se representa en dos bytes, ¿me explico? Saludos, Gerardo Suárez Trejo Última edición por Gallosuarez fecha: 05-11-2010 a las 17:25:40. |
#4
|
||||
|
||||
Cita:
Me pregunto si las variables varchar y char de tu procedimiento almacenado están realmente en UTF8. Los campos ya me imagino que sí, pero estas variables en ningún momento se les dice su charset, por lo tanto quizás estén en el charset predeterminado de la base de datos. Comprueba cual es el charset predeterminado de tu base de datos :
Es probable que tus procedimientos almacenados solo funcionen correctamente si el charset de la base de datos es UTF8. NOTA: Asegúrate mirando cuando vale la variable len de tu SP, y cuanto es esa misma longitud si lo consultas directamente sobre el campo.
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
||||
|
||||
Será que no me explico bien
|
#6
|
||||
|
||||
Hola Gerardo.
Cita:
Ejplo. CREATE DOMAIN UUID AS VARCHAR(16) CHARACTER SET OCTETS; NOTA: De la misma forma que te daba problemas con Unicode, si intentas guardar un UUID en un varchar(16) con iso8859_1 lo más probable es que te de un transliteration error (o sea que los carácteres que intentas guardar no son válidos en el alfabeto soportado por iso8859_1). El charset OCTETS acepta los caracteres que se le envían en el mismo binario en que los recibe, no hace ni intenta hacer ninguna manipulación con ellos. Cita:
CHAR_LENGTH (o CHARACTER_LENGTH) debería devolver el número de caracteres de la cadena (independientemente de su tamaño). OCTET_LENGTH sí que devuelve el tamaño en bytes ocupado por la cadena. Gracias por la confianza .
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿''?reportmanager y delphi 2010 VCL con firebird 2.1 UTF8 | JXJ | Varios | 0 | 19-08-2010 19:22:03 |
UTF8 La maldicion | Softweb | Varios | 3 | 25-03-2010 13:45:39 |
Cambiar CHARACTER SET NONE a UTF8 en FIREBIRD 1.5 | ASAPLTDA | Firebird e Interbase | 1 | 06-03-2008 00:22:54 |
Codificar texto en UTF8 | xio | Internet | 0 | 29-10-2007 18:10:19 |
|