Pregunta

Mi empresa acaba convirtió a muchos de columnas varchar a nvarchar.

Ahora parece que cuando prestamos un presupuesto inteligente (es decir, ALT + 0146 ') para la pantalla y luego enviarlo de vuelta a la base de datos de SQL Server 2000 para la persistencia, la cita inteligente se corrompe a - â € ™ -.

Mi Pregunta:

  

¿Cómo podría ASP código de servidor corrupta un presupuesto inteligente’?

EDIT: Parece que mi pregunta es similar a éste . Por cierto, el contenido Powerpoint introdujo la cita inteligente en la mezcla. Sin embargo, como he dicho antes, estoy tratando con una página ASP, mientras que pertenece la pregunta que se hace referencia a una página PHP.

Editar : El CODEPAGE=65001 directiva de servidor hace que la página render correctamente, pero todavía Mensajes contenido como 'Europa occidental' en una cuadro de windows 2000. ¿Alguien sabe por qué?

¿Fue útil?

Solución 4

VBScript podría destrozar los caracteres Unicode; especialmente en versiones anteriores de IIS (es decir IIS 5.0 en Windows Server 2000).

En mi caso, una construcción For Each tenía la culpa.

Aquí hay un código de ejemplo que se ejecuta después de un POST:

Response.Write Request.Form("selOptions")(0) ' A-OK! - Displays Unicode characters fine!  
For Each sOption in Request.Form("selOptions")
  Response.Write sOption ' Bad! Unicode characters are mangled!  
Next

Como siempre, su experiencia puede variar.

Otros consejos

Parece que algo está haciendo una conversión implícita entre ANSI y Unicode (y la elección de la página de códigos mal en el proceso). Es posible que tenga que hacer la conversión manualmente y suministrar la página de código correcto. Es difícil de decir sin ver el código.

Tome un vistazo a esto:

http://support.microsoft.com/kb/232580

Es posible que desee establecer la página de códigos en el ASP por lo que no recibe caracteres hokey.

Mientras que haces necesidad de indicar al servidor qué codificación de uso, tiene usted le dijo al cliente cuál es la codificación de una página? En caso contrario, el cliente estará feliz de publicar en cualquier codifica el usuario eligió última explícitamente, o una codificación por defecto del sistema, que es probable que sea de Europa occidental en la mayoría de las máquinas de los Estados Unidos o de Europa Occidental.

En su html, ¿tiene algo como esto en su

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

También puede pedir al servidor para enviar esta manera explícita en sus response.headers. Aunque creo que es una idea buena para enviarla en las cabeceras HTTP, es útil para incluirlo en el código HTML, así como para las personas que deciden guardar el documento localmente por cualquier razón.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top