2011-06-14 14 views
8

? Me pregunto si existen relaciones o algoritmos existentes que permitan convertir caracteres nacionales a caracteres latinos equivalentes dentro de la página de códigos UTF8.¿Es posible convertir caracteres específicos de idioma a caracteres latinos en UTF8

Por ejemplo (en polaco):

a -> a

O -> O

Z -> z

Z -> z ...

frase como: 'zażółć gęślą jaz'

se convierte en : 'zazolc gesla jazn'

Actualmente estoy usando una matriz de conversión para polaco, pero estoy buscando una solución universal que maneje todos los idiomas basados ​​en América.

Gracias

+0

Actualización: Necesito hacerlo dentro de una aplicación .NET y trabajo con variables de cadena. Esta es una conversión unidireccional por lo que no es necesario almacenar ninguna información adicional como lo sugirió Pooli. Gracias. – tomekole

+2

Al principio, compruebe si realmente necesita quitar acentos. No hay un verdadero personaje latino "equivalente", siempre se pierde información de esta manera. Pero si lo haces, hay algunas maneras como la biblioteca iconv o cosas como la descomposición Unicode. – schlenk

+0

Gracias schlenk. La descomposición Unicode parece ser exactamente lo que necesito. – tomekole

Respuesta

0

No del todo seguro de que esta es una respuesta definitiva que se necesita, pero cuando He tenido que hacer esto en el pasado, he convertido todos los caracteres 'especiales' en una entidad con nombre o numérica para que estén protegidos durante el proceso de conversión.

1

Para completar la respuesta, la 'descomposición Unicode + C#' me llevó a este artículo de CodeProject (codeproject.com/KB/cs/UnicodeNormalization.aspx?display=Print) que ofrece una solución lista para usar. La capacidad de nombrar lo que está buscando no puede subestimarse;) Gracias por todas las respuestas.

Cuestiones relacionadas