#1 2013-03-24 20:22:53

kosci
Člen
Registrován: 2013-03-23
Příspěvky: 7

Re: Čeština a MySQL

Dobrý den,
Mám vytvořenou databázi, v ní table, v ní tři row. Dvě z nich jsou textové, obě mám nastavené na utf8_czech_ci, stejně tak jako celou databázi. Na webu , který je taky v utf-8 beru data z formuláře, který má akceptovat jen utf-8. při přiojení databáze v php používám:       
        mysqli_select_db("lidi");
        mysqli_query("SET NAMES 'utf8'");
        mysqli_query("SET COLLATION_CONNECTION='utf8_czech_ci'");
        mysqli_query("SET character_set_client=utf8");
        mysqli_query("SET character_set_connection=utf8");
        mysqli_query("SET character_set_results=utf8");
Je jich tolik, protože už jsem fakt nevěděl coby. Data jsou v utf-8, po odeslání do databáze, se ale české znaky pokazí. Po zavolání z databáze zpět na web jsou opět v utf8. Co s tím?

Offline

#2 2013-03-24 21:04:57

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Čeština a MySQL

Klasická otázka - DOMÉNA?

kosci napsal:

... Data jsou v utf-8, po odeslání do databáze, se ale české znaky pokazí. Po zavolání z databáze zpět na web jsou opět v utf8. ...

Jak víte, že po odeslání do databáze se české znaky pokazí? Jak se pokazí?

Zkuste použít na úvod

mb_internal_encoding("UTF-8");

To jen tipuji... Podle popisu problému se jen těžko něco bližší dá radit.


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#3 2013-03-24 21:12:17

kosci
Člen
Registrován: 2013-03-23
Příspěvky: 7

Re: Čeština a MySQL

Nepomáhá. Vím to, protože jsem se koukal do phpmyadmina, a tam "Tomáš" vypadá takhle "Tomáš"

Offline

#4 2013-03-24 21:13:48

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Čeština a MySQL

Doména a konkrétní adresa, která hodnoty ukládá?


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#5 2013-03-24 21:25:04

kosci
Člen
Registrován: 2013-03-23
Příspěvky: 7

Re: Čeština a MySQL

konkrétní adresa http://www.kosci.mablog.eu/php/mysql2.php
a kód stránky

<!DOCTYPE html>
<html>
  <head>
  <meta charset="UTF-8">
  <title>MySQL</title>
  </head>
  <body>

     
     <?php
      $db=mysqli_connect(localhost,*******,*******,*******);
      mysqli_query('set names utf8');
      mb_internal_encoding("UTF-8");
      if (mysqli_connect_errno($db))
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
      else
      {
      echo "Úspěšně připojeno k mysql db";
      }
      $jmeno="Tomáš";
      mysqli_query($db,"INSERT INTO lidi(Krestni,Prijmeni,Vek) VALUES('Tomáš','Novák','15')");
      mysqli_close($db);
     ?>
  </body>
</html>

Offline

#6 2013-03-24 21:34:16

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Čeština a MySQL

Co zaměnit:

 mysqli_query('set names utf8');

za

 mysqli_query("set names 'utf8'");

1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#7 2013-03-24 21:41:59

kosci
Člen
Registrován: 2013-03-23
Příspěvky: 7

Re: Čeština a MySQL

Také nefunguje.

Offline

#8 2013-03-24 22:30:33

JF
Endora rádce
Místo: Plzeň
Registrován: 2010-06-22
Příspěvky: 10,291
Web

Re: Čeština a MySQL

skúšali ste i toto?

@mysql_query("SET CHARACTER SET UTF8",$db);

Ján Fačkovec - Helpdesk Endora.cz
- Email: jan.fackovec(zavináč)endora.cz
- Web: www.endora.cz
Zlepšite si stránku českým validátorom!

Offline

#9 2013-03-25 20:19:42

kosci
Člen
Registrován: 2013-03-23
Příspěvky: 7

Re: Čeština a MySQL

Ne, bohužel ani toto nefunguje.

Offline

#10 2013-03-25 20:31:06

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Čeština a MySQL

Zkusil bych postupovat dle OOP při použití příkazů mysqli_

Jak budu mít chvíli čas zkusím testovat...

EDIT:
Zkuste použití:

mysqli_set_charset("utf8");

http://www.php.net/manual/en/mysqlinfo. ... harset.php


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#11 2013-03-25 21:26:05

kosci
Člen
Registrován: 2013-03-23
Příspěvky: 7

Re: Čeština a MySQL

Prošel jsem si Váš odkaz a použil jeden ze skriptů a FUNGUJE TO!
Použil jsem následující kód. Milionkrát Vám děkuji!

<!DOCTYPE html>
<html>
  <head>
  <meta charset="UTF-8">
  <title>MySQL</title>
  </head>
  <body>

     
     <?php

      $mysqli = new mysqli(localhost,****,***,****);

      if (!$mysqli->set_charset('utf8')) {
          printf("Error loading character set utf8: %s\n", $mysqli->error);
      } else {
          printf("Current character set: %s\n", $mysqli->character_set_name());
      }
      

      mysqli_query($mysqli,"INSERT INTO lidi(Krestni,Prijmeni,Vek) VALUES('Matyáš','Novák','17')");
      mysqli_close($mysqli);
     ?>
     <br><br><br><br><br><br><br><br><br><br>
     <br><br><br><br><br><br><br><br><br><br>
  </body>
</html>

Offline

#12 2018-06-04 01:13:26

daveracek
Endora uživatel
Registrován: 2015-06-11
Příspěvky: 4

Re: Čeština a MySQL

Kam se zapisuje tento php script vw worpressu?

Offline

#13 2018-06-05 13:35:38

JF
Endora rádce
Místo: Plzeň
Registrován: 2010-06-22
Příspěvky: 10,291
Web

Re: Čeština a MySQL

Nejedná se o skript wordpressu, takže nikam.


Ján Fačkovec - Helpdesk Endora.cz
- Email: jan.fackovec(zavináč)endora.cz
- Web: www.endora.cz
Zlepšite si stránku českým validátorom!

Offline

#14 2018-06-08 22:32:50

daveracek
Endora uživatel
Registrován: 2015-06-11
Příspěvky: 4

Re: Čeština a MySQL

Ve wordpressu, kde se nezobrazovala čeština, pomohlo nastavit ve wpconfig řádek: define('DB_CHARSET', 'utf8');. V DB je kódování "utf8mb4_unicode_ci".

Offline

Zápatí

Založeno na FluxBB | CZ a SK