Diskuze: Mysql a znaky?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
a co takto urcit platne kodovanie znakov v PHP kode, ako aj si vybrat kodovanie znakov v MySQL pri vytvarani tabuliek a databaze, ako aj na webovej stranke?
S problémem jsem postoupil a převedl databázi do UTF-8, ale zjistil jsem, že chyba není v databázi, ale v zápisu přes formulář. Něco zapíšu a uloží to do databáze s těmi znaky.
Skript na vytváření novinek:
<?php
session_start();
if(!isset($_SESSION["login"]))
{
header('Location: login.php');
exit();
}
include 'connect.php';
$novinka = array(
'titulek' => '',
'obsah' => '',
'datum' => '',
);
if($_POST)
{
$titulek = $_POST["titulek"];
$obsah = $_POST["obsah"];
$datum = date("H:i d.m.Y", time());
$sql = "INSERT INTO novinky (titulek, obsah, datum) VALUES ('$titulek', '$obsah', '$datum')";
if($con->query($sql))
{
header('Location: administrace.php');
exit();
}
}
?>
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8">
<title>Editor</title>
</head>
<body>
<form method="POST">
<label for="titulek">Titulek</label>
<input type="text" name="titulek">
<textarea name="obsah"></textarea>
<input type="submit" value="Odeslat">
</form>
<script type="text/javascript" src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
selector: "textarea[name=obsah]",
plugins: [
"advlist autolink lists link image charmap print preview anchor",
"searchreplace visualblocks code fullscreen",
"insertdatetime media table contextmenu paste"
],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
entities: "160,nbsp",
entity_encoding: "named",
entity_encoding: "raw"
});
</script>
</body>
</html>
Muzes zkusit udelat formu atribut accept-charset, taky tinyMCE jde i bez RAW modu a da se mu nastavit cestina pres language : "cs_CZ" (musis si stahnout soubor).
Ale muj tip je, ze by jsi mel v php hned po pripojeni do DB spustit query "SET NAMES UTF8"
už je to fixnuté, stačilo použít pdo místo query()
Zobrazeno 5 zpráv z 5.