Autor Zpráva
Sobky
Profil
Prosím Vás prečo mi z databázy nevypisuje diakritiku? Toto je to ked to vypisuje alebo aj indx.php
<?
include "kostra/head.php";
?>
<div class="news">
<?
$mysqli = new mysqli($server, $user, $pass, $name);
if (mysqli_connect_errno()) {
  echo "Nepodarilo sa pripojiť k databáze: " . mysqli_connect_error();
}
$linknastranku = "ako-sa-pripojit";
$clanok = $mysqli->query('SELECT * FROM page WHERE url="'.$mysqli->real_escape_string($linknastranku).'"');
$page = $clanok->fetch_assoc();
echo('<div class="nadpis"><a>'.htmlspecialchars($page['header']).'</a></div>');
echo('<p>'.$page['content'].'</p>');
?>
</div>
<?
include "kostra/widget.php";
?>
<?
include "kostra/footer.php";
?>
a v tej head.php je toto
<?php
session_start();
include "options.php"; //nastavenia
?>
<!DOCTYPE html>
<html lang="sk-SK">
    <head>
        <title>MagiCraft -> A Minecraft Server</title>
        <meta charset="utf-8">
        <meta name="author" content="SobkyLuckSK">
        <link rel="stylesheet" type="text/css" href="/css/main.css">
        <link rel="stylesheet" type="text/css" href="/css/menu.css">
        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
        <script src="js/menu.js"></script>
    </head>
<body>
    <div class="header">
    <div class="subheader">
      <a href="<? echo "$fblink"?>" target="_blank"><img class="social" src="images/social/Facebook-icon.png"></a>
      <a href="<? echo "$tslink"?>" target="_blank"><img class="social" src="images/social/TS-icon.png"></a>
      <a href="<? echo "$twitterlink"?>" target="_blank"><img class="social" src="images/social/Twitter-icon.png"></a>
      <a href="/account" class="login-header">
      <?php
      if($_SESSION["logged"]){
      echo "Ahoj $nick";
         } else {
      echo "Prihlásenie";}
      ?></a>     
    </div>
    </div>
  <div class="logo">
    <a href="/"><img class="logo" src="images/logo/Logo.png"></a>
  </div>
<div class="menu-area">
  <? include "menu/menu.php"; ?>
</div>
<div class="head-page">
  <div class="news-area">
Joker
Profil
Sobky:
Co znamená „nevypisuje diakritiku“?
Písmena se nevypíší vůbec, vypíší bez diakritiky, vypíší se jiné symboly?

V databázi (při pohledu přes správcovský program) jsou texty v pořádku?

Některé časteji řešené dotazy pro MySQL - FAQ » MySQL a čeština nepomohlo?
Sobky
Profil
No vypíšu sa len znaky a otázniky. A neviam aký správcovský program. Čo to je? Ale v PSPad mám nastavené UTF-8
Fisir
Profil
Reaguji na Sobkyho:
A neviam aký správcovský program. Čo to je?
PhpMyAdmin, Adminer.

Ale v PSPad mám nastavené UTF-8
Jsi si jist? Je to napsané ve stavovém řádku?
Sobky
Profil
Mám MyPHPAdmin a tam mám nastavené to utf8_unicode_ci či ako to je a V PSPad mám nastavené utf-8 v Formát a tam UTF-8
Kubo2
Profil
Skús pred pred dotazmi do databáze nastaviť komunikačné kódovanie (kódovanie, v akom sa prenášajú dáta z a do databáze).

<?php

// ...

$mysqli->set_charset('UTF-8');

// ...

Edit: Aha, vlastne je to spomenuté aj vo FAQ. :(
Sobky
Profil
Dal som to takto a stále nič
$mysqli = new mysqli($server, $user, $pass, $name);
if (mysqli_connect_errno()) {
  echo "Nepodarilo sa pripojiť k databáze: " . mysqli_connect_error();
}
$linknastranku = "ako-sa-pripojit";
$clanok = $mysqli->query('SELECT * FROM page WHERE url="'.$mysqli->real_escape_string($linknastranku).'"');
$mysqli->set_charset('UTF-8');
$page = $clanok->fetch_assoc();
echo('<div class="nadpis"><a>'.htmlspecialchars($page['header']).'</a></div>');
echo('<p>'.$page['content'].'</p>');



Ešte pridávam obrázok z databázy ak to pomôže
lionel messi
Profil
Sobky:
Skús hneď po connecte zavolať:
$mysqli->query("SET NAMES UTF8");

a vo svojom volaní metódy set_charset máš IMHO nadbytočnú pomlčku (pozri sa na FAQ).
Kubo2
Profil
Sobky:
mysqli::set_charset() je nutné volať ešte pred dotazom do databáze t.j. v tvojom [#7] kóde pred/nad riadkom 6 alebo najlepšie ihneď po pripojení k databáze.
Joker
Profil
Sobky:
Ešte pridávam obrázok z databázy ak to pomôže
A právě v tom prostředí co je na obrázku je i volba prohlížet data tabulky. Tam to vypadá správně?

Jinak jak píše Kubo2, set_charset se musí volat ještě před odesláním dotazu, ideálně jako první věc po připojení.
Sobky
Profil
Takto vypadá tá tabulka

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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