|
Página 1 de 1
|
Posible Bug En Left() Con Acentos [Solucionado]
Autor |
Mensaje |
BrunoIV
|
Posible Bug En Left() Con Acentos [Solucionado]
Creo que he encontrado un bug en gambas 3.2
¿Alguien me lo puede confirmar y quizás reportar?
última edición por BrunoIV el Miercoles, 12 Septiembre 2012, 21:49; editado 1 vez
|
#1 Miercoles, 12 Septiembre 2012, 20:42 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Posible Bug En Left() Con Acentos
No es un bug, es normal lo que te ocurre.
La forma correcta es usando la clase String:
La función Sconv se usa para otra cosa:
Citar: Convierte una cadena desde Desktop.Charset, que debe ser UTF-8, a System.Charset.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#2 Miercoles, 12 Septiembre 2012, 21:21 |
|
|
sebikul
Sebastian
Programador
Registrado: Julio 2012
Mensajes: 113
Edad: 30 Ubicación:
|
Re: Posible Bug En Left() Con Acentos
No es un bug sino un error en la codificacion de la cadena.
Ejecuta lo siguiente en una terminal:
gbx3 -e "SConv(Left(\"Miércoles\", 4))"
Si todavia tienes errores en la codificacion, esto es porque el System.Charset no soporta acentos, en ese caso deberias usar:
gbx3 -e "Left(\"Miércoles\", 4)"
De forma alternativa puedes usar Conv$() para cambiar la codificacion de una cadena.
Si lo ejecutas desde la IDE probablemente ocurran errores de codificacion, eso es porque la terminal virtual no usa UTF-8 sino ASCII
Espero que la info te sirva, saludos!
|
#3 Miercoles, 12 Septiembre 2012, 21:29 |
|
|
sebikul
Sebastian
Programador
Registrado: Julio 2012
Mensajes: 113
Edad: 30 Ubicación:
|
Re: Posible Bug En Left() Con Acentos
Sabes que tienes razon??
ES en realidad un bug, ya que los caracteres con acentos ocupan 2 bytes, y la función Left() lo cuenta como 2 caracteres en lugar de 1.
Fácil de comprobar:
Cuando deberían ser 2. Deberias reportarlo!
Edit:
Aún mas raro...
última edición por sebikul el Miercoles, 12 Septiembre 2012, 21:37; editado 1 vez
|
#4 Miercoles, 12 Septiembre 2012, 21:35 |
|
|
BrunoIV
|
Re: Posible Bug En Left() Con Acentos
Gracias jguardon, no sabia que la forma correcta fuera String.left(). Lo de usar Sconv era para asegurarme de que no fuera algún problema con mi codificación (al principio no lo tenia).
Sebikul:
Acabo de ver que jguardon tiene toda la razón, tanto las funciones Len, Left y otras tienen este mensaje:
Citar:
This function only deal with ASCII strings. To manipulate UTF-8 strings, use the String class.
Un abruzo
última edición por BrunoIV el Miercoles, 12 Septiembre 2012, 21:59; editado 1 vez
|
#5 Miercoles, 12 Septiembre 2012, 21:46 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|