Imprimir caracteres especiales con vb.net

Mi situación es la siguiente. En Vb.Net, genero un archivo de texto con cualquier información para luego enviarlo a una impresora de matriz de puntos (ej. TM de Epson), pero si este contiene un carácter con tilde, o "ñ", etc. La impresora no lo reconoce. El archivo lo edito con un editor de texto para DOS y el mismo me muestra el carácter impreso, pero si lo edito con el Notepad de windows, si se muestra el carácter correcto. Trato de que al generar el archivo sea todo en ASCII, pero no lo logro.

1 respuesta

Respuesta
Recuerda que los formatos de cada editor no son iguales. A veces pasa lo que comentas, en uno se ve bien y en otro no.
Si, tienes razón, pero para aterrizar lo que te menciono, si mando al archivo a imprimir, en la impresora queda el carácter que se ve editándolo con el mismo edit de Windows y no el que se ve con el Block de notas.
He estado haciendo pruebas y siguiendo el código que te envié, hay una sección don de se le indica el Encoding, ya que el mismo puede ser ASCII, UTF-7, UTF-8, Unicode, con cada uno pruebo y registra caracteres diferentes aún con la misma "ñ", creo que por allí debe andar el asunto, pero no le llego.
Sugiero que utilices el chr$(164), como prueba para generar el archivo.
Ok, si le indico que escriba Chr(164) y veo el archivo con el block de notas, muestra "¤", pero si lo edito con un editor de texto, muestra "ñ".
Eso es lo que debería hacer, el problema es que yo no controlo los caracteres a imprimir, ya que estos son leídos de una DB SQL ella extraería en este caso una "ñ" no un chr(164), el asunto sería como indicarle a VB, que esa ñ que viene es un chr(164). Cómo ves el asunto.
Te indico el código con el que hago las pruebas:
Dim sr As StreamWriter
Dim mArchivo As String = "c:\tmp\Archivo.txt"
If File.Exists(mArchivo) Then
File.Delete(mArchivo)
End If
sr = File.CreateText(mArchivo)
sr.WriteLine(Chr(164))
sr.WriteLine("ñ")
sr.Close()
Gracias por Responder
Sugiero que verifiques bien el lenguaje que tienes tanto en el sistema operaativo como en el servidor de sql server para que los caracteres sean iguales.
Creo que no es problema de incompatibilidad de lenguajes, ya que como ves en el ejemplo que te envié, estoy indicando el carácter "ñ" y el chr(164) directamente en el código, y se escribe el archivo con dos caracteres diferentes.
No, me refiero al momento de extracción de datos del servidor de datos.
Estos en este caso son iguales, porque están instalados en el mismo equipo. Pero olvidándonos de si son datos de un DB o no, lo que hay que destacar como problema es que si yo escribo por ejemplo en un textbox una ñ y la guardo en un archivo texto, la veo bien desde el Block de notas, pero no en un editor de texto para DOS.
Saludos.
Ok, sugiero que vuelvas a realizar la pregunta en el foro.
Puedes cerrar calificando la pregunta
Te agradezco mucho tu interés, pero la verdad ya todo eso y más lo he intentado y lo que busco es realmente que si alguien tiene la idea de cómo se soluciona y quiere compartirla, pues lo agradecería, pero no puedo estar probando a ver qué sucede si ... Si no tienes la respuesta o una idea clara, pues gracias de nuevo por el interés.
Según mi idea, deber ser con el ASCII...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas