Mysql a (pravdepodobne nefunkcní diakritika)nefunkcni – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Mysql a (pravdepodobne nefunkcní diakritika)nefunkcni – PHP – Fórum – Programujte.comMysql a (pravdepodobne nefunkcní diakritika)nefunkcni – PHP – Fórum – Programujte.com

 

Alex
~ Anonymní uživatel
65 příspěvků
14. 12. 2011   #1
-
0
-

Ahoj mám dobný problém pokud od datábáze chci uložit nejaký text s s diakritikou přesněji řečeno písmena s háčky a čárky tak mi to po uložení vypíše jen část slova např:. chci uložit slovo databáze ale uloží se jen slovo databa to je vše nastavené mám kodovani utf-8 jiz jsem skusil i příkaz mysql_set_charset('utf8') ale nic pro úplnost příkládam kód který se stará o ukládání dat na databaázi

jedná se o jakýsi rozcestník do kterého se ukládají webové adresy a poté stací kliknout a daná stránka externí či interní se otevře pravdepodobne normalne neviuzitelna aplikace ale pro účeli učení si myslím že celkem šikovná aplikace

<?php
    include "./connect.php";
	mysql_set_charset('utf8');
    
	if(isset($_POST['pridat'])){
		$nazev = mysql_real_escape_string($_POST["nazev"]);
		$adresa = mysql_real_escape_string($_POST["adresa"]);
		
		if($nazev==""){
			echo'nebyl vyplněn název';
		}
		elseif($adresa==""){
			echo'Nebyla vyplňěna adresa URL';
		}
		else {
			$sql = mysql_query("INSERT INTO odkazy VALUES ('','$nazev','$adresa')") or die (mysql_eror());			
            echo'Data byla úspěšně uložena do databáze';
		}
	}	
?>
Nahlásit jako SPAM
IP: 78.102.49.–
5o
~ Anonymní uživatel
4 příspěvky
14. 12. 2011   #2
-
0
-

Skus toto: mysql_query("SET NAMES 'utf8'");

Nahlásit jako SPAM
IP: 95.102.92.–
Alex
~ Anonymní uživatel
65 příspěvků
14. 12. 2011   #3
-
0
-

Mno tak to nefunguje bohuzel  mozna bude jednodusi mi poradit kdyz sem nakopiruju vse

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.1//EN""http://www.w3g.org/TR/xhtml11.dtd">
<html>
	<head>
		<metta http-equiv="content-type"content="text/html;charset=UTF-8"/>
		<title>Hlavní menu</title>
	</head>
	<body>
        <table border="2" cellpadding="5" cellspacing="4">
        <tr><td><?php
                    require"./connect.php";
                    
                    $vyber = $vyber = mysql_query("select id from odkazy");
                    echo 'Záznamů v databázi</td><td>'.mysql_num_rows($vyber).'</td></tr>';
                ?></table>
                    
<?php
    include "./connect.php";
    $vyber = mysql_query("select * from odkazy");
    while ($vysledek = mysql_fetch_assoc($vyber))
   {
    $vysledek["nazev"] = stripslashes ($vysledek["nazev"]);
    $vysledek["adresa"] = stripslashes ($vysledek["adresa"]);
    
    echo ('<table border="2" cellpadding="5" cellspacing="4">
                <tr><td>'.$vysledek["nazev"].'</td><td><a href="'.$vysledek["adresa"].'">'.$vysledek["adresa"].'</a></td></tr>
           </table>');
   }
?>
<?php
    include "./connect.php";
	mysql_query("SET NAMES 'utf8'");
    
	if(isset($_POST['pridat'])){
		$nazev = mysql_real_escape_string($_POST["nazev"]);
		$adresa = mysql_real_escape_string($_POST["adresa"]);
		
		if($nazev==""){
			echo'nebyla vyplněna adresa';
		}
		elseif($adresa==""){
			echo'Nebyla vyplňěna adresa URL';
		}
		else {
			$sql = mysql_query("INSERT INTO odkazy VALUES ('','$nazev','$adresa')") or die (mysql_eror());			
            echo'Data byla úspěšně uložena do databáze';
		}
	}	
?>
<form action="" method="post">
    <table border="2" cellpadding="5" cellspacing="4">
        <tr><td><input type="text" name="nazev" value="" size="18" /></td>
            <td><textarea style="width: 200px; height: 16px;" name="adresa"></textarea></td></tr>
        <tr><td colspan="2"><center><input type="submit" name="pridat" value="Přidat" /></td></center></tr>
        <tr><td colspan="2"><center><a href="index.php">Znovu načtení stránky</a></td></center></tr>
    </table>
</form>    
</body>
</html>
Nahlásit jako SPAM
IP: 78.102.49.–
KIIV
~ Moderátor
+43
God of flame
14. 12. 2011   #4
-
0
-

to se doopravdy pripojujes 3x po sobe? Nastavit to pak musis pokazde vse..

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Alex
~ Anonymní uživatel
65 příspěvků
14. 12. 2011   #5
-
0
-

no pravda ze by to pripojeni slo vlozit jen jednou uplne na zacatek takze tak jak to mam ted musim zapsat pod kazde pripojeni na db mysql_query("SET NAMES 'utf8'")

Nahlásit jako SPAM
IP: 78.102.49.–
KIIV
~ Moderátor
+43
God of flame
14. 12. 2011   #6
-
0
-

ja vetsinou daval taktez ten set character set...  jinak muzes nahodit misto include jen require once

Mimochodem: "vyplňěna" je jak pest na oko

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Martin
~ Anonymní uživatel
1600 příspěvků
14. 12. 2011   #7
-
0
-

Zde je stručný návod, předpokládejme, že budeme mít kódování v utf-8 a budeme používat porovnávání utf8_czech_ci:

  1. databáze musí být v utf-8, což asi bude, protože to je default
  2. odesílaná data z www formuláře musí také být v utf-8
  3. problém bude nejspíše v porovnávání, bude nastaven na latin1_swedish_ci, je potřeba změnit na utf8_czech_ci
  4. při připojení k db použijeme na začátku komunikace "SET NAMES 'utf8'" a "SET CHARACTER SET utf8"
  5. pak by vše mělo fungovat jak mělo
Nahlásit jako SPAM
IP: 178.77.242.–
Alex
~ Anonymní uživatel
65 příspěvků
14. 12. 2011   #8
-
0
-

právě sem to vyřešil z mě neznamych duvodu se mi to v php desighner prepinalo neustale na ansi kodovani tak sem to otevrel v notepadu++ tam to prepnul ulozil a phpdesigner uz mi to oznacuje jako UTF-8 pravdepodobne se jedna o chybu program pac kdyz to dole v php designeru prepnu na utf-8 ulozim tak v okamziku stisknuti klaves ctrl+s se mi to prepne zpet na ansi

Nahlásit jako SPAM
IP: 78.102.49.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 18 hostů

Podobná vlákna

Nefunkční v IE — založil psenik

Nefunkční kalkulačka c++ — založil Judr Boomer

Nefunkční defined() — založil DragonBehemont

Nefunkční switch? — založil kojor44

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý