Non sono sicuro quando questo si è verificato.Strani caratteri nel testo del database: Ã, Ã, ¢, â, €,
Ho un nuovo sito Web affiliato di drop-shipping e ricevo una copia esportata del catalogo prodotti dal grossista. Formattare e importare questo in Prestashop 1.4.4.
Il front end del sito contiene le combinazioni di caratteri strani all'interno del testo prodotto: A, A, ¢, Â, ecc Essi appaiono al posto dei caratteri comuni come, -: ecc
Questi personaggi sono presenti in circa il 40% delle tabelle del database, non solo tabelle specifiche del prodotto come ps_product_lang.
Another website thread dice questo stesso problema si verifica quando la stringa di connessione al database utilizza un tipo di codifica di carattere errato.
In /config/setting.inc, non vi è alcuna stringa di codifica dei caratteri menzionata, solo il motore MySQL, che è impostato su InnoDB, che corrisponde a quello che vedo in PHPMyAdmin.
Ho esportato ps_product_lang, sostituito tutte le istanze di questi caratteri con caratteri corretti, salvato il file CSV in formato UTF-8 e reimportato utilizzando PHPMyAdmin, specificando UTF-8 come lingua.
Tuttavia, dopo aver eseguito una nuova ricerca in PHPMyAdmin, ora ho circa 10 volte il numero di istanze di questi caratteri errati in ps_product_lang rispetto a quando ho iniziato.
Se il problema è semplice come specificare l'attributo di lingua corretto nella stringa di connessione del database, dove/come si imposta questo e cosa?
Per inciso, ho cercato di eseguire questo comando in phpMyAdmin menzionato in this thread, ma il problema rimane:
SET NAMES utf8
UPDATE: PHPMyAdmin dice:
MySQL charset: Unicode UTF-8 (utf8)
Questo è lo stesso set di caratteri che ho usato nell'ultimo file di importazione, che ha causato più corruzioni di caratteri. UTF-8 è stato specificato come set di caratteri del file di importazione durante il processo di importazione.
UPDATE2
Ecco un esempio:
le persone vivono untetheredÃÆ'Ã, ¢ à¢ à ¢ â,¬Å¡Ã,¬Ã¯à ¢ â , € Ã,ï † acquistare e noleggiare film online, scaricare software e condividere e archiviare file sul web.
Update3
ho eseguito un comando SQL in phpMyAdmin per visualizzare i set di caratteri:
- character_set_client utf8
- character_set_connection utf8
- character_set_database latin1
- character_set_filesystem binario
- character_set_results utf8
- character_set_server latin1
- character_set_system utf8
Così, forse il mio database deve essere convertito (o eliminati e ricreati) a UTF-8. Questo potrebbe rappresentare un problema se il server MySQL è latin1?
MySQL può gestire la traduzione del contenuto in UTF8 ma memorizzarlo come latin1? Non penso che possa farlo, dato che UTF8 è un superset di latin1. Il mio supporto di web hosting non ha risposto in 48 ore. Potrebbe essere troppo difficile per loro.
@AurelioDeRosa Esempio aggiunto sopra. – Steve
Non so molto di prestashop ma sembra che non faccia una buona codifica del char. Comunque vedo altre persone hanno lo stesso problema: http://www.prestashop.com/forums/topic/34545-problem-with-encoding-characters/ –
non è questo solo un problema di FE? phpMyAdmin è impostato per visualizzare roba con codifica errata e client non impostato per utilizzare UTF-8? deve essere inserito in un meta tag. – MarianP