[PHP] visualizzazioe caratteri strani

stefanocps

Nuovo Utente
16 Mar 2018
11
0
1
58
ciao , geestisco una biblioteca online
http://www.bibliotecaarpad.net/online/opac_css/index.php?
che dopo l aggiornamento ha cominciato a mostrare male tutti i caratteri accentati
Ho provato a forzare il db su utf8 senza risultati
Ho provato poi manualmente a cambiare le 4,5 tabelle realmente importanti, esportando e reimportando i dati senza risultati
Come posso fare?
sto pensando anche di sostiuire direttamente i caratteri con qualche comando direttamente nel phpmyadmin...come faccio eventualmente?
grazie
 
nei file (leggendo il sorgente), hai questa codifica
HTML:
<meta charset="iso-8859-1" />

impostala a utf8
 
ho verificato i due file di configurazione php e uno aveva iso, ho messo uft-8 ma non cambia nulla
 
però in ricerca avanzata hai un select dove i caratteri accentati compaiono..

nel file php dove hai la connessione al database prova a settare anche il charset

PHP:
mysqli_set_charset($con,"utf8");

ovviamente cambia $con con la tua variabile di connessione.

Per scrupolo controlla anche nel db che i nei campi ci siano i caratteri accentati, un campbio di charset potrebbe averli eliminati.
 
però in ricerca avanzata hai un select dove i caratteri accentati compaiono..

nel file php dove hai la connessione al database prova a settare anche il charset

PHP:
mysqli_set_charset($con,"utf8");

ovviamente cambia $con con la tua variabile di connessione.

Per scrupolo controlla anche nel db che i nei campi ci siano i caratteri accentati, un campbio di charset potrebbe averli eliminati.
ok aspetta fammi capire meglio
al posto di $con cosa metto user e pwd?
com 'è la sintassi di user e pwd?
 
ho inserito queste stringhe
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "dbpass";
$dbname = "dbname";


$conn = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
mysqli_query($conn,"SET CHARACTER SET 'utf8'");
mysqli_query($conn,"SET SESSION collation_connection ='utf8_unicode_ci'");

non so se va bene ma non cambia nulla
 
ipotizzando che la connssione al db sia:

Codice:
$con = mysqli_connect("localhost", "userdb", "pass", "db");

.. se avessi

Codice:
$link = mysqli_connect("localhost", "userdb", "pass", "db");

metti $link..

con il metodo OOP
Codice:
$link = new mysqli('localhost', 'user', 'pass', 'db');

mysqli_set_charset($link, "utf8")
 
con queste stringhe il sito non si visualizza più, c'è qualcosa che non va
ho fatto cosi
$con = mysqli_connect("localhost", "userdb", "pass", "db");
mysqli_set_charset($con,"utf8");

ora funziona, ma il problema non è risolto
 
per una migliore comprensione (forse) ho rimesso online il sito prima dell aggiornmaneto
http://icelife.it/online/opac_css/index.php
(a breve sara visibile, sto cambiando dns)

questo le tabelle sono tutte in latin addirittura, eppure funziona, ricordo che anni fa dopo una migrazione di host ebbi lo stesso problemo e lo risolsi, ma ora non ricordo proprio più come
 
il link apre una pagina bianca...
potresti anche utilizzare uno script che ti converta i caratteri accentati cambiando la codifica
 
si apre un apagina bianca perchè sta propagando i dns, a breve sara visibile
ricordo che quando successe lavorai sul sql pero..sono quasi certo..

cmq come dici tu, sto pensando di cambiare i caratteri con una query su phpmy admin e risolvere cosi una volta per tutte.tanto gli inserimenti sono finiti
non so come si fa però :)
 

Discussioni simili