duplicare sito
-
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
Buone Feste a tutti,
nell'implementare un nuovo sito vorrei partire dal lavoro già fatto. Ho cerceto così di duplicare un sito esistente per poi cambiargli nome e caratteristiche.
Il procedimento che ho seguito è.
- creare nuovo db con un nuovo nome e importare tabelle del vecchio
- copiare in un'altra dir (con diverso indirizzamento) tutti i file zikula
- modificare il nome del db nel file config.php nel nuovo sito
Ebbene, in locale funziona, sul server virtuale se provo ad accedere a molte pagine di amministrazzione com ad esempio "impostazioni" vengono pagine bianche. Inoltre sia in locale che sul server non visualizza bene la "è" e forse altri caratteri speciali, mette il ?.
Qualcuno ha provato a fare la stessa coosa e sa dirmi se bisogna modificare qualcosa d'altro?
Grazie mille e Buon Anno
Luca -
- Registrato: 19.07.08
- ultima visita:
- Messaggi: 134
La pagina bianca è uno degli errori più subdoli che ci siano
perchè diventa davvero difficile capirne l'origine... nella maggior parte dei casi è il server che pensando di fare un favore al webmaster (perchè una pagina bianca è ritenuta più elegante e più sicura di mostrare all'utente l'errore) nasconde gli errori, la soluzione ultima in questi casi è quindi quella di forzare il server a mostrare gli errori...
detto questo, hai controllato i permessi delle cartelle (su tutte pnTemp e quelle li contenute)? la prima cosa che mi viene in mente è che in locale tu abbia i permessi su tutto e sul server no...
per quanto riguarda i caratteri invece potrebbe essere che il nuovo database utilizzi un encoding diverso da quello vecchio... prova a vedere che encoding usavi e formare il nuovo database ad usare quello (dovrai probabilmente ri-copiarlo perchè la conversione non credo funzioni)
Ciao
-
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
Diagnosi corretta (complimenti) erano i diritti di scrittura su Pntemp.
Le "è" invece mi sa che sia difficile correggerle nell'importazione, in locale ho provato di tutto...
La cosa + strana è che il sito è stato upgradato alla 1.2 (che è solo in inglese) ma continuo ad avere parecchie cose in italiano, in particolare "chi è on line" coon la "è" sbagliata... Questo mi suggerisce che sia la versione 1.2 a intepretare i caratteri in maniera diversa oppure "chi è on-line" è scritto in database. Peraltro a che modulo appartiene questa funzionalità?
Grazie ancora -
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
La seconda che ho detto: era semplicemente il titolo di una voce di menu di un blocco... quindi in DB.
Ciao -
- Registrato: 19.07.08
- ultima visita:
- Messaggi: 134
Ma quindi che encoding usavi per il vecchio database e che encoding usi per quello nuovo?
Potresti provare a creare il nuovo database con questo comando:
Codice
CREATE DATABASE `nomedb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
e a copiarvi dentro quello precedente. -
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
Grazie, dovrei averci provato, usando phpmyadmin, devo verificare se ho fatto proprio così...poi faccio sapere
Buon anno,
Luca -
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
L'ho rifatto ma la visualizzazione rimane errata. Ho verificato però i contenuti delle tabelle per capire cosa c'è in db e i caratteri sembrano corretti, quindi probabilmente il problema è di visualizzazione, sul db i caratteri accentati ci sono.
Ciao a tutti -
- Registrato: 19.07.08
- ultima visita:
- Messaggi: 134
Allora il problema dovrebbe essere una discordanza tra l'encoding del database e l'encodig della pagina html. Se usi Firefox prova a cambiare l'encoding facendo Visualizza -> Codifica Caratteri, quella giusta dovrebbe essere o Occidentale ISO-8859-15 o Unicode UTF-8.
Se una di queste ha funzionato allora è sufficiente modifica il charset delle pagine. Nella versione 1.1 e precedenti il charset era impostato nella traduzione, nella versione 1.2 non ricordo (e putroppo non ho un server su questo computer quindi non posso controllare). Una soluzione un pò "sporca" potrebbe essere quella di impostare il charset direttamente in master.htm e home.htm, sostituendo quello giusto in questa riga:
Codice
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />
Ciao,
Giacomo -
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
Grazie Giacomo,
dunque, modificando il charset ( da UTF-8 a ISO...) il problema si risolve. R-8.
Non importa cmq, se scoprirò qualcosa lo scriverò...QWSWC,,POKOKJNMPMOò,èPLP -
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
Grazie Giacomo,
dunque, modificando il charset ( da UTF-8 a ISO...) il problema si risolve. Rimane da capire perchè nel sito che ho upgrato (e di cui gli altri sono copie identiche a parte l'importazione) il problema non c'è; inoltre il charset è UTF-8 (verificato sull'html generato e sulle impostazione che assume Firefox). Aggiungo che il problema si risolve anche se riscrivo i pezzi con i caratteri speciali...
Non importa cmq, sei stato già abbastanza gentile. Cercherò di scoprire dov'è l'inghippo.
ciao Luca
PS il messaggio precedente nonso come cancellarlo -
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
Aggiornamento:
sul sito senza problemi: se scrivo "à", sul db viene scritto "à"
sulla copia: se scrivo "à", sul db viene scritto "A con la dieresi sopra", che poi sarà decodificato correttamente in visualizzazione
c'è qualche impostazione di Zikula da qualche parte... (non i Permalinks settings, anche lì i caratteri speciali inseriti vengono sostituiti da "?").
Ciao ciao -
- Registrato: 19.07.08
- ultima visita:
- Messaggi: 134
Sono finalmente rientrato in possesso del mio pc
questa sera approfondisco l'argomento facendo alcune prove e ti faccio sapere
-
- Registrato: 19.07.08
- ultima visita:
- Messaggi: 134
Forse questa volta ci siamo
sono riuscito a riprodurre il problema e apparentemente anche a risolverlo... eseguendo lo stesso tuo procedimento mi son trovato in questa situazione:
database originale: collation del database utf8_general_ci e collation delle tabelle utf8_general_ci
database copiato: collation del database latin1 e collation delle tabelle utf8_general_ci
perchè quanto pare (almeno nel mio caso) phpmyadmin crea il nuovo database come latin1 (sembra che zikula non c'entri nulla con questo problema)
quindi alla fine ho risolto creando il nuovo database con:
Codice
CREATE DATABASE `nomedb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
alternativamente puoi modificare il database che già hai, con phpmyadmin vai in operations (del database, non di una tabella) e selezioni
Collation utf8_general_ci
a questo punto però tutte le lettere accentate che hai inserito sulla copia saranno sbagliate e dovrai risalvarle
Ciao,
Giacomo -
- Registrato: 07.11.08
- ultima visita:
- Messaggi: 66
Grazie, problema risolto. Per errore ho messo utf_unicode_ci, funziona lo stesso, sai cosa cambia?
Come si fa a sapere da phpmyadmin qual'è la collation corrente? Sulle tabelle è specificato a fianco...
A presto,
Luca -
- Registrato: 19.07.08
- ultima visita:
- Messaggi: 134
Non so cosa cambi nello specifico, ma le collation definiscono delle regole per comparare due stringhe (ad esempio _ci significa case insensitive, cioè minuscole e maiuscole son considerate uguali)
Per vedere la collation del database basta andare nella schermata principale dove ci son tutte le tabelle... l'ultima riga (quella di riepilogo) contiene la collation del database. Ad esempio io ho il database latin1 e le tabelle utf8, tutte le tabelle hanno scritto a fianco utf8_general_ci ma nell'ultima riga c'è scritto:
56 table(s) Sum 22,316 MyISAM latin1_swedish_ci 6.1 MiB 0 B
- Moderato da :
- Amministratori
Utenti online
- 5 utenti anonimi
Questa lista è basata sugli utenti connessi negli ultimi 40 minuti.