Carattere accentato

martedì 11 maggio 2004 - 10.47

anakin Profilo | Newbie

Utilizzo dei file di risorse per avere le mie pagine tradotte in varie lingue.
Ho dei problemi con i caratteri accentati, per fare un esempio invece di località viene visualizzato localit.
Come faccio a gestire le accentate '

Grazie

anakin Profilo | Newbie

dove imposto questa cosa ?

anakin Profilo | Newbie

Ho scritto questa riga nel web.config
<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" />
ma non è cambiato nulla, continuo a non vedere le lettere accentate.

Brainkiller Profilo | Guru

Prova con questa:

<globalization culture="it-IT" requestEncoding="iso-8859-1" responseEncoding="iso-8859-1">
</globalization>


aggiungi in pratica la culture="it-IT"

ciao
david

anakin Profilo | Newbie

non posso impostare la cultura in questo modo, perchè il mio sito è multilingua è la cultura è variabile.
Mi spiego meglio: io utilizzo dei file di testo uno per ogni lingua, contenenti le traduzioni di tutte le parole che compaiono nelle pagine; questi file vengono compilati in file .resources e poi linkati in satellite assembly.
Se nel file di testo corrispondente all'italiano metto "nome=città", nella pagina vedo "citt", lo stesso problema ce l'ho anche con alcuni caratteri accentati usati nello spagnolo ecc.

Brainkiller Profilo | Guru

Hai già provato invece ad impostare da codice la CurrentCulture ? Magari nel PageLoad per vedere cosa succede ?
Per me è un problema di questo tipo, di caratteri e di lingua.

ciao
david

anakin Profilo | Newbie

si, imposto la culture nel pageload, per fare un po' di chiarezza allego del codice:

Public Sub Application_OnStart(ByVal sender As Object, ByVal e As EventArgs)
Dim DllDescriptions As [Assembly] = [Assembly].Load("Descriptions")
Application("RM") = New ResourceManager("nome", DllDescriptions)
End Sub


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
.....
.....
Thread.CurrentThread.CurrentUICulture = New CultureInfo("it")
Thread.CurrentThread.CurrentCulture = New CultureInfo("it-IT")

Dim RM As ResourceManager = CType(Application("RM"), ResourceManager)
litdescription.Text = RM.GetString("loc")
.....
.....

ho un file nome.it.txt che contiene:
loc=località

litdescription.Text vine valorizzato con "localit", che è quello che vedo nella pagina

Brainkiller Profilo | Guru

Ma il file .txt che hai creato come l'hai creato scusa ?
E' codificato in Unicode ?

Di solito si usano file .xml per fare queste cose non più .txt.
Visual Studio .NET ha il supporto per farti craere i file di risorsa.

ciao
david

anakin Profilo | Newbie

il file .txt è un semplice file di testo creato con il notepad, ho visto vari esempi sulla globalizzazione e utilizzano tutti dei file di testo che poi vengono compilati con il "resgen" in file .resources e linkati con "al" in assembly satellite; a me va bene utilizzare anche un file xml anzichè un txt se mi risolve il problema.

Brainkiller Profilo | Guru

Ecco, prova ad aprire il notepad, poi fai Salva file con Nome.
Vedrai in basso dove c'è Encoding scegli Unicode invece di ANSI e riprova tutta la procedura.

ciao
david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5