Domanda

La mia azienda appena convertito molte colonne da varchar a nvarchar.

Ora sembra che quando rendiamo un preventivo intelligente (ad esempio ALT + 0146 ') per lo schermo e poi inviarlo di nuovo al database di SQL Server 2000 per la persistenza, la citazione intelligente viene danneggiato a - â € ™ -.

La mia domanda:

  

Come potrebbe ASP codice lato server corrotto un preventivo intelligente’?

Modifica Sembra che la mia domanda è simile a questo . Tra l'altro, i contenuti Powerpoint ha introdotto la citazione intelligente nel mix. Tuttavia, come ho detto prima, ho a che fare con una pagina ASP, mentre si riferisce la domanda fa riferimento a una pagina PHP.

Modifica : La direttiva sul lato server CODEPAGE=65001 rende la pagina rendere in modo corretto, ma ancora i messaggi contenuto come 'dell'Europa occidentale' su un 2000 di Windows. Qualcuno sa perché?

È stato utile?

Soluzione 4

VBScript può manipolare i caratteri Unicode; soprattutto su vecchie versioni di IIS (cioè IIS 5.0 in Windows Server 2000).

Nel mio caso, un costrutto For Each è stata la colpa.

Ecco qualche esempio di codice che viene eseguito dopo 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

Come sempre, la tua situazione potrebbe essere diversa.

Altri suggerimenti

Sembra che qualcosa sta facendo una conversione implicita tra ANSI e Unicode (e scegliendo la pagina di codice errato nel processo). Potrebbe essere necessario eseguire la conversione manualmente e fornire la pagina di codice corretto. E 'difficile da dire senza vedere il codice.

Date un'occhiata a questo:

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

Si può decidere di impostare il codice pagina in ASP in modo da non avere caratteri hokey.

Mentre si ha bisogno di dire al server che codifica da utilizzare, hai detto al cliente ciò che la codifica della pagina è? In caso contrario, il cliente sarà lieto di inviare in qualsiasi codifica l'utente ultima esplicitamente scelto, o una codifica di default del sistema, che rischia di essere occidentale europeo sulla maggior parte delle macchine europee occidentali degli Stati Uniti o.

nel codice HTML, hai qualcosa di simile nel tuo

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

Si può anche chiedere al server di inviare questo in modo esplicito nei tuoi Response.Headers. Anche se penso che sia una buona idea per inviare nelle intestazioni HTTP, è utile per includerlo nel codice HTML e per le persone che decidono di salvare il documento in locale per qualsiasi motivo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top