Lettere Accentate

Ciao a tutti,

ho un problema con le lettere accentate.

Il testo che viene dal DB, se accentato, viene mostrato com’è, ovvero con tutte le è ò à ù é possibili, mentre il testo messo in una view con semplice codice HTML, mostra le lettere accentate in questo modo -> �

Come posso risolvere?

Graazie!

hai in problema di encoding, controlla che:

  • i campi sul db sono tutti utf8

  • nel db hai impostato: ‘charset’ => ‘utf8’,

  • il tuo sito e’ in utf8

Se hai ancora problemi, aggiungi alla configurazione del db:

‘initSQLs’=>array(‘SET names utf8;’),

Ti ringrazio per i consigli.

Ho controllato ma il DB ora è in utf8 o almeno ho eseguito un

e ho controllato pure i collation dei vari campi (per sicurezza) impostandoli in utf8_general_ci, ma il problema rimane sempre quello: il testo preso dal DB ha tutte le lettere accentate normali, mentre il testo statico delle view mette sempre il carattere �.

Esempio: "ci�" al posto di "ciò".

Ho anche controllato /config/main.php e il DB è impostato utf8


'charset' => 'utf8',

Dovrei provare a cambiare il sito in "utf8" ma non so come si fa.

in views/layout/main.php

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

Confermo che quel meta in layouts/main.php è impostato a utf-8.

Ho anche modificato da "en" a "it" la seguente:


<meta name="language" content="it" />

e:


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">

Ho anche controllato che l’editor sia impostato a UTF-8 e…lo è.

Linko la pagina perché non so più dove sbattere la testa.

http://www.fabriziocastania.com/index.php?r=site/page&view=about

effettivamente se metto la codifica del browser a iso 8859 1 legge tutto bene senza caratteri strani.

Domanda: a parte il DB, tutte le tabelle hanno la codifica utf8?

io ho dovuto far modificare al sistemista qualcosa nella configurazione di apache, perchè si ostinava a dar fuori il tutto in ISO-8859-1 invece che utf-8, ma non so darti altri dettagli

Questo che segue è l’esportazione del mio DB.

Le tabelle sono in latin1.

prova a metterle come UTF8

Domanda un po’ deviante: qual’è la stringa SQL per modificare la codifica di una tabella?

ALTER TABLE…?

ALTER TABLE admin_section DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

Ti ringrazio.

Ho fatto anche un ALTER DATABASE per sicurezza ma non cambia niente.

Come potete vedere le lettere accentate rimangono dei punti di domanda :(

Oltretutto si è sovrapposto un altro problema (diverso da questo) e mi toccherà aprire un altro topic -.-

In base alla mia esperienza posso aggiungere che devi discernere i problemi su db da quelli di apache e lo fai visualizzando l’html della pagina che ti dà problemi

per esempio con Chrome

view-source:www.sito.com

nella pagina devi controllare

se il carattere che ti dà problemi si legge => problema apache

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

se non lo leggi manco lì => problema db

in ultimo posso dirti che su MySql avevo problemi con un cambo blob in cui non potevo settare character utf8 e ho risolto modificandolo in text