Autor Zpráva
papalas
Profil *
Zdravím mám (pro vás asi dost stupidni) dotaz.
Nevíte proč se mi na moji stránce registrace místo písmen s háčkama a čárkama zobrazuji takové divné otazniky v černém kosočtverci
Kdysi jsem se s tim už setkal a jednoduše se to vyřešilo tak že jsem do "head" připsal "<meta http-equiv="content-type" content="text/html;charset=utf-8" />"
Zde mi to ale vůbec nepomohlo.

skript:

<?php
session_start();

if(empty($_SESSION['name']) AND empty($_SESSION['id']))
{
?>    


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title>Registration</title>
     <meta http-equiv="content-type" content="text/html;charset=utf-8" />
<style>

.back{
    font-size:10pt;
    margin-top:20px;
}

</style>
    
</head>

<body>

<?php
    if(isset($_GET['error']))
    {
        $error = stripslashes(htmlspecialchars(trim($_GET['error'])));
        if($error == '')
        {
                unset($error);
        }
    }
?>
<?php
 echo "
<form action=\"/overeni.php\" method=\"POST\">
<table>
 <tr>
 <td>
  <a href=\"/index.php\">Home</a>
  </td>
  <td>  
   <div><label for=\"login\">Email:</label></div>
  </td>
  <td>
    <div><input type=\"text\" name=\"login\"></div>
  </td>
  <td>
    <div><label for=\"heslo\">Password:</label></div>
  </td>
  <td>
    <div><input type=\"password\" name=\"heslo\"></div>

  </td>
  <td>
    <div><input type=\"submit\" name=\"go\" value=\"Ok\"></div>
  </td>
  </table> 
  </form>
  <p></p>
  ";
  echo"<h1>Registration</h1>";
  if((!empty($error)) and ($error=='1')){
  echo"<p>Fill in all fields</p>";
  }
 elseif((!empty($error)) and ($error=='2')){
 echo"<p>This e-mail is already in use</p>";
  }
 elseif((!empty($error)) and ($error=='3')){
 echo"<p>This username is already in use</p>";
  }
?> 
<form action="pridavani.php" method="POST">
    
    <div><label for="name">Nickname:</label></div>   
    <div><input type="text" name="name"></div>

    <div><label for="login">Email:</label></div>
    <div><input type="text" name="login"></div>
    
    <div><label for="heslo">Password:</label></div>
    <div><input type="password" name="heslo"></div>

<div><label for="keystring">Opište čisla a písmena z obrázku:</label></div>
                            
    <div><img src="kcaptcha/img.php" id="image"></div>        
                                               
    <div><a href="#captcha" onClick="document.getElementById('image').src='kcaptcha/img.php?rand='+Math.round(1000 * Math.random());">Refresh</a></div>                          
                           
    <div><input type="text" name="keystring"></div>
    
    <div><input type="submit" name="go" value="sign up"></div>

</form>

</body>
</html>
<?php
}
?>

Předem děkuji za vaše rady.
juriad
Profil
papalas:
V jakém kódování máš uložen ten soubor? Musí být taktéž v UTF-8.
papalas
Profil *
juriad:
nevím jestli odpovídám na to na co ses ptal ale mám to ulozene jednoduse jako registration.php
juriad
Profil
papalas:
Bohužel ne. České znaky lze ukládat několika různými způsoby. Tomu se říká kódování; mezi nejběžnější patří windows-1250, ISO 8859-2 a právě UTF-8. V dnešní době převládá použití UTF-8 a pro nové projekty nemá nic jiného smysl používat.
V každém tomto kódování se zapisují písmena bez diakritiky stejně, ale liší rozdílným uložení znaků s diakritikou.
Deklarované kódování (charset) v hlavičce, kterou jsi přidal, musí odpovídat kódování, v jakém je stránka uložená.

V lepších editorech lze kódování nastavit. Jaký editor používáš pro vytváření stránek?
Ještě poznamenám, že je nutné mít všechny soubory a databázi uložené ve stejném kódování, jinak si také koleduješ o malér.
papalas
Profil *
používám notepad a už jsem to opravil díky moc za pomoc

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: