Visione caratteri speciali
Visione caratteri speciali postato il 09/09/2009 01:40:28 nel forum programmazione, open source e hosting
Salve a tutti,avrei un problema nella visualizzazione dei caratteri speciali, ma non in chat, bensì in file che mi mostra le tecniche presenti all'interno della land!! ^^!
Ora posto il file ove non riesco a mettere mano ^^, spero possiati aiutarmi!! XDD!!
<?
session_start();
include ('inc/parametri.inc.php');
include ('inc/open2.php');
$idv = $_POST['idvil'];
?>
<html>
<head>
<title>Tecniche View</title>
<link href="<?= $_SESSION['CSS'] ?>" rel="stylesheet" type="text/css">
</head>
<body>
<?
if($idv < 6)
{
$query = "SELECT * FROM Tecniche WHERE Villaggio = $idv AND Special = 'no' ORDER BY NomeTecnica";
$tab = mysql_query($query);
while($riga = mysql_fetch_array($tab))
{
?>
<table width='100%' style='border:double;' align='center'>
<tr>
<td class="table2" colspan="2"><center><font class="testata">Nome Tecnica:</font></center></td>
<td class="table2" colspan="6"><center><font class="testata">Descrizione:</font></center></td>
</tr>
<tr>
<td class="table2" colspan="2"><center><font class="testata"><?=$riga['NomeTecnica']?></font></center></td>
<td class="table2" colspan="6"><?=$riga['Descrizione']?></td>
</tr>
<tr>
<td class="table2" colspan="2"><center><font class="testata">Forza:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Velocità:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Mente:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Resistenza:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Ninjutsu:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Taijutsu:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Genjutsu:</font></center></td>
</tr>
<tr>
<td class="table2" colspan="2"><center><?=$riga['Forzamin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Velocitàmin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Resistenzamin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Mentemin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Ninjutsumin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Taijutsumin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Genjutsumin']?></center></td>
</tr>
<tr>
<td class="table2" colspan="3"><center><font class="testata">Tipo di Jutsu:</font></center></td>
<td class="table2" colspan="2"><center><font class="testata">Consumo Chakra:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Livello Minimo:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Tipo Chakra 1:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Tipo Chakra 2:</font></center></td>
</tr>
<tr>
<td class="table2" colspan="3"><center><?=$riga['Tipo']?></center></td>
<td class="table2"colspan="2"><center><?=$riga['ConsumoChakra']?></center></td>
<td class="table2" width="150"><center></center></td>
<td class="table2"><center>
<?
switch ($riga['Tipochakra']) {
case '0':
$tipo='Nessuno';
break;
case '1':
$tipo='Vento';
break;
case '2':
$tipo='Fuoco';
break;
case '3':
$tipo='Acqua';
break;
case '4':
$tipo='Terra';
break;
case '5':
$tipo='Fulmine';
break;
case '6':
$tipo='Medico';
break;
}
echo $tipo;
?></center></td>
<td class="table2"><center>
<?
switch ($riga['Tipochakra1']) {
case '1':
$tipo1='Vento';
break;
case '2':
$tipo1='Fuoco';
break;
case '3':
$tipo1='Acqua';
break;
case '4':
$tipo1='Terra';
break;
case '5':
$tipo1='Fulmine';
break;
case '6':
$tipo1='Medico';
break;
case '0':
$tipo1='Nessuno';
break;
}
echo $tipo1;
?></center></td>
</tr>
</table>
<?
}
}
else
{
$query = "SELECT * FROM Tecniche WHERE Special = 'si' ORDER BY NomeTecnica";
$tab = mysql_query($query);
while($riga = mysql_fetch_array($tab))
{
?>
<table width='100%' style='border:double;' align='center'>
<tr>
<td class="table2" colspan="2"><center><font class="testata">Nome Tecnica:</font></center></td>
<td class="table2" colspan="6"><center><font class="testata">Descrizione:</font></center></td>
</tr>
<tr>
<td class="table2" colspan="2"><center><font class="testata"><?=$riga['NomeTecnica']?></font></center></td>
<td class="table2" colspan="6"><?=$riga['Descrizione']?></td>
</tr>
<tr>
<td class="table2" colspan="2"><center><font class="testata">Forza:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Velocità:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Mente:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Resistenza:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Ninjutsu:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Taijutsu:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Genjutsu:</font></center></td>
</tr>
<tr>
<td class="table2" colspan="2"><center><?=$riga['Forzamin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Velocitàmin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Resistenzamin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Mentemin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Ninjutsumin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Taijutsumin']?></center></td>
<td class="table2" width="150"><center><?=$riga['Genjutsumin']?></center></td>
</tr>
<tr>
<td class="table2" colspan="3"><center><font class="testata">Tipo di Jutsu:</font></center></td>
<td class="table2" colspan="2"><center><font class="testata">Consumo Chakra:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Livello Minimo:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Tipo Chakra 1:</font></center></td>
<td class="table2" width="150"><center><font class="testata">Tipo Chakra 2:</font></center></td>
</tr>
<tr>
<td class="table2" colspan="3"><center><?=$riga['Tipo']?></center></td>
<td class="table2"colspan="2"><center><?=$riga['ConsumoChakra']?></center></td>
<td class="table2" width="150"><center></center></td>
<td class="table2"><center>
<?
switch ($riga['Tipochakra']) {
case '0':
$tipo='Nessuno';
break;
case '1':
$tipo='Vento';
break;
case '2':
$tipo='Fuoco';
break;
case '3':
$tipo='Acqua';
break;
case '4':
$tipo='Terra';
break;
case '5':
$tipo='Fulmine';
break;
case '6':
$tipo='Medico';
break;
}
echo $tipo;
?></center></td>
<td class="table2"><center>
<?
switch ($riga['Tipochakra1']) {
case '1':
$tipo1='Vento';
break;
case '2':
$tipo1='Fuoco';
break;
case '3':
$tipo1='Acqua';
break;
case '4':
$tipo1='Terra';
break;
case '5':
$tipo1='Fulmine';
break;
case '6':
$tipo1='Medico';
break;
case '0':
$tipo1='Nessuno';
break;
}
echo $tipo1;
?></center></td>
</tr>
</table>
<?
}
}
?>
</body>
</html>
Pagine → 1
09/09/2009 01:58:00
prova ad includere questo
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
subito dopo l'apertura del tag <head>
09/09/2009 11:46:54
Ho provato ad inserire il meta ma nulla di che, dato che il problema dovrebbe stare nella riga in cui va a prendere la descrizione, ovvero:
<td class="table2" colspan="6"><?=$riga['Descrizione']?></td>
Ho anche pensato, in caso estremis, di provare ad usare una cosa del genere:
<td class="table2" colspan="6"><?=utf8_decode($riga['Descrizione'])?></td>
Ma così facendo oltre a non leggermi le special mi taglia anche alcuni spazi, ovvero viene: il ninja avr?elocit?....
09/09/2009 11:57:29
hai provato a controllare nel database come sono memorizzati questi caratteri speciali e se il formato in cui sono memorizzati è lo stesso che usi per la visualizzazione?
09/09/2009 12:31:16
Provato ad usare il suggerimento di oro ma nulla!! ç_ç!!
I caratteri sono in latin1_swedish_ci...
09/09/2009 13:07:29 e modificato da blancks il 09/09/2009 13:09:04
1. Includi nella pagina, dopo l'head questo:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
2. Filtra la stringa di descrizione così come illustrato:
htmlentities($riga['Descrizione'], ENT_QUOTES, "ISO-8859-1")
3. Prova e facci sapere xD
09/09/2009 13:11:57
ok, allora puoi provare a controllare nella pagina in cui realizzi l'inserimento di queste descrizioni. controlla il formato della pagina e quali sono le eventuali funzioni di filtraggio del testo che hai inserito prima di memorizzarlo nel db.
09/09/2009 15:06:07
oorazoroo ha scritto: [quote]blancks ha scritto: 1. Includi nella pagina, dopo l'head questo:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
2. Filtra la stringa di descrizione così come illustrato:
htmlentities($riga['Descrizione'], ENT_QUOTES, "ISO-8859-1")
3. Prova e facci sapere xD
Molto meglio usare UTF8, considerando poi che il POST di tutti i dati nei moderni browser viene proprio fatto in UTF8, ed avere un unico set standard evita parecchi problemi (non preoccupatevi, in UTF8 son supportati tutti i caratteri accentati, anzi, son supportati tutti i caratteri possibili ed immaginabili, quindi c'è solo di guadagnato).
Imposta intanto il database ed i campi su utf8_general_ci. Verifica che tutti i campi di testo abbiano questa codifica prima di fare altro. Quindi riprova, se continua a non funzionare, prova con le seguenti:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
echo htmlendities($blabla['miao'], ENT_QUOTES, "UTF-8");
E non dimenticare mai di salvare le pagine PHP in formato ASCII e non Unicode (controllare sempre le impostazioni dei propri editor, anche con Blocco Note).
Se passi i dati alla pagina tramite post da un form o con Ajax, usa utf8_decode su tutti i dati da recuperare:
$baubau = utf8_decode($_POST['pincopallino']);
[/quote]Serio ? io sapevo che iso-8859-1 era più adatto per i caratteri latini a dispetto di utf-8 che conviene più usarlo dove i contenuti sono ad esempio in lingua inglese.
09/09/2009 17:50:06
Tutto chiaro.
Grazie della delucidazione raz ;-)
11/09/2009 11:48:56
Scusate ma stò cristando contro ciò!! ^^!
ho provato in mille modi seguendo i consigli sia di blanks che di oro ma in ogni caso mi dà problemini!! ^^!
Allora se uso ciò:
<?
session_start();
include ('inc/parametri.inc.php');
include ('inc/open2.php');
$idv = $_POST['idvil'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Tecniche View</title>
<link href="<?= $_SESSION['CSS'] ?>" rel="stylesheet" type="text/css">
</head>
<body>
<?
if($idv < 6)
{
$query = "SELECT * FROM Tecniche WHERE Villaggio = $idv AND Special = 'no' ORDER BY NomeTecnica";
$tab = mysql_query($query);
while($riga = mysql_fetch_array($tab))
{
$descrizione=utf8_decode($riga['Descrizione']);
?>
<table width='100%' style='border:double;' align='center'>
<tr>
<td class="table2" colspan="2"><center><font class="testata">Nome Tecnica:</font></center></td>
<td class="table2" colspan="6"><center><font class="testata">Descrizione:</font></center></td>
</tr>
<tr>
<td class="table2" colspan="2"><center><font class="testata"><?=$riga['NomeTecnica']?></font></center></td>
<td class="table2" colspan="6"><?= $descrizione ?></td>
</tr>
<tr>
Mi compaiono le scritte ma con ? al posto delle accentate e spazi tagliati!! ^^!
Se uso questo:
<?
session_start();
include ('inc/parametri.inc.php');
include ('inc/open2.php');
$idv = $_POST['idvil'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Tecniche View</title>
<link href="<?= $_SESSION['CSS'] ?>" rel="stylesheet" type="text/css">
</head>
<body>
<?
if($idv < 6)
{
$query = "SELECT * FROM Tecniche WHERE Villaggio = $idv AND Special = 'no' ORDER BY NomeTecnica";
$tab = mysql_query($query);
while($riga = mysql_fetch_array($tab))
{
$descrizione=utf8_decode($riga['Descrizione']);
?>
<table width='100%' style='border:double;' align='center'>
<tr>
<td class="table2" colspan="2"><center><font class="testata">Nome Tecnica:</font></center></td>
<td class="table2" colspan="6"><center><font class="testata">Descrizione:</font></center></td>
</tr>
<tr>
<td class="table2" colspan="2"><center><font class="testata"><?=$riga['NomeTecnica']?></font></center></td>
<td class="table2" colspan="6"><?= htmlentities($descrizione, ENT_QUOTES, "UTF-8");?></td>
</tr>
Come sopra e se in questo appena copiato uso l'eco mi dà l'errore:
Parse error: syntax error, unexpected T_ECHO
ç__ç!!
Non riesco a capire ove sbaglio!! ^^!!
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Cafuné ↗
Foundation Galactic Frontier ↗
Imperion ↗
Exclusive Villa GdR ↗
Crossout ↗
Sea of Conquest ↗
World of Tanks ↗