elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 05:27  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Ñ y acentos en C#?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ñ y acentos en C#?  (Leído 4,555 veces)
sexto

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Ñ y acentos en C#?
« en: 27 Enero 2011, 17:17 »

Estoy haciendo una especie de Notepad en C#. Un ejercicio que nos ha mandado el profesor para este fin de semana.

He hecho el diálogo para abrir un archivo (.txt) y me lo abre bien, pero no me saca ni la letra ñ ni los acentos.

El código que tengo para abrir el archivo es el siguiente:

Código:
FileStream Archivo = new FileStream(AbrirArchivo.FileName, FileMode.Open, FileAccess.Read);
byte[] Contenido;
Contenido = new byte[Archivo.Length];
Archivo.Read(Contenido, 0, (int)Archivo.Length);
textBox1.Text = new UTF8Encoding().GetString(Contenido);

Me imagino que el problema está en el UTF8, pero he probado con ASCII y con un par mas y no hay forma de que los saque.
¿Como lo puedo conseguir?

Muchas gracias


En línea
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Ñ y acentos en C#?
« Respuesta #1 en: 27 Enero 2011, 17:42 »

http://msdn.microsoft.com/es-es/library/x8xxf0x5%28VS.80%29.aspx
Nose si esto te sirva, pero por lo menos a mi si
System.Text.Enconding.Default


En línea

chubichequer

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: Ñ y acentos en C#?
« Respuesta #2 en: 27 Enero 2011, 18:07 »

Sexto en efecto ese utf8 no acepta los acentos ni las ñ en ese caso al menos, si usas default estaras usando un tipo de coficicacion que no esta en la lista y es la windows 1251, esa es la codificacion estandar de windows, es muy similar al ascii 256 pero con algunas diferencias, asi que puedes usar default en vez de utf8 o bien puedes usar esa codificacion de esta manera.
Código:
Encoding encode = System.Text.Encoding.GetEncoding("1251");
En línea
sexto

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: Ñ y acentos en C#?
« Respuesta #3 en: 27 Enero 2011, 18:26 »

He probado las dos formas pero nada...

Lo estoy poniendo bien?

Citar
            FileStream Archivo = new FileStream(AbrirArchivo.FileName, FileMode.Open, FileAccess.Read);
            Encoding encode = System.Text.Encoding.GetEncoding("1251");

            byte[] Contenido;
            Contenido = new byte[Archivo.Length];
            Archivo.Read(Contenido, 0, (int)Archivo.Length);
            textBox1.Text = new encode("1251").GetString(Contenido);

Acabamos de empezar con Visual C# y aun no lo tengo yo muy dominado el tema...
En línea
[D4N93R]
Moderador
***
Desconectado Desconectado

Mensajes: 1.647


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Ñ y acentos en C#?
« Respuesta #4 en: 27 Enero 2011, 20:58 »

No me le los codes de los encodings pero puedes usar "utf-8" por ejemplo. Pruebalo.
En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: Ñ y acentos en C#?
« Respuesta #5 en: 27 Enero 2011, 21:38 »

Podrias probar algo como (en C)
Código
FILE *FP = fopen (filename, (a+));
char byte;
 
while (!feof (FP))
{
byte = fgetc (FP)
if ((int)byte = 164)
printf ("%c", (char) 164);
else
putc (byte);
}
 

O algo asi. Hace tiempo que no uso fgetc asi que no se si los arg. están bien, pero mas o menos estaría correcta la idea...
Suerte!
Modf: Para los acentos es exactamente lo mismo
Remodf por si eso...:
La cosa es que leas un byte y si es una Ñ o demás, lo imprimas con su valor ASCII... Así me va a mi en C.
« Última modificación: 27 Enero 2011, 21:47 por Sagrini » En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
sexto

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: Ñ y acentos en C#?
« Respuesta #6 en: 28 Enero 2011, 17:57 »

Con UTF8 ya probé y nada.

Lo que comentas de sustituir los carácteres por su código ASCII... no se me había ocurrido.
Ahora probaré.
En línea
seba123neo


Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: Ñ y acentos en C#?
« Respuesta #7 en: 29 Enero 2011, 02:31 »

Hola, creo que con poner System.Text.Encoding.Default se soluciona.

aca te paso un ejemplo que no funciona y me muestra los acentos mal y las "ñ" como caracteres no validos.

No Funciona:

Código
Imports System.IO
 
Public Class Form1
 
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim vLector As New StreamReader("c:\a.txt")
       Dim vTexto As String = vLector.ReadToEnd()
       TextBox1.Text = vTexto
       vLector.Close()
   End Sub
End Class

aca el que funciona:

Código
Imports System.IO
 
Public Class Form1
 
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim vLector As New StreamReader("c:\a.txt", System.Text.Encoding.Default)
       Dim vTexto As String = vLector.ReadToEnd()
       TextBox1.Text = vTexto
       vLector.Close()
   End Sub
End Class

en C#:

Código
using System.IO;
 
public class Form1
{
 
private void Form1_Load(System.Object sender, System.EventArgs e)
{
StreamReader vLector = new StreamReader("c:\\a.txt", System.Text.Encoding.Default);
string vTexto = vLector.ReadToEnd();
TextBox1.Text = vTexto;
vLector.Close();
}
}

saludos.
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
callemanuel

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Ñ y acentos en C#?
« Respuesta #8 en: 15 Abril 2012, 06:06 »

Hola me imagino que la respuesta es un poco tarde para tu tarea pero se que al igual que yo muchas personas leen esto todavia "ya que aparece en google" y les puede servir como respuesta a otras personas

RESPUESTA:

CUANDO GUARDEN EL .TXT DEL QUE VAN A LEER EN LA PARTE DE ABAJO DICE CODIFICACIÓN, EN ESTE PUNTO ELIGAN UTF-8 QUE ES LA QUE RECONOCE C# Y PROBLEMA SOLUCIONADO CON TÍLDES Y TOD
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
acentos.
Desarrollo Web
darksteel- 8 693 Último mensaje 27 Diciembre 2005, 18:31
por Colymore
no me van los acentos
Windows
skan 4 498 Último mensaje 2 Noviembre 2006, 16:54
por skan
Acentos en una web
Desarrollo Web
DaZaRo 2 452 Último mensaje 8 Junio 2007, 20:35
por agente_naranja
acentos en un bat
Scripting
sexto 4 9,758 Último mensaje 6 Agosto 2007, 11:59
por Meta
No me van los acentos.
Windows
Kasswed 5 1,002 Último mensaje 20 Julio 2008, 02:50
por el-viejo
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines