Špatně ukládaná diakritika v databázi

Vyřešeno1.00K zhlédnutíWebhosting
0

Dobrý den,

do databáze ukládám data zadané z formuláře (textové pole, kde data zadává zákazník a dále hodnoty z listboxu).

Do textového pole zákazník uloží např. text „Testovací požadavek“ a do databáze se mi uloží „Testovací požadavek“.

Data, která se následně na webu vyčítají z DB, jsou zobrazována korektně. Problém je ve chvíli, kdy chci selectovat data..

Nemohu použít select * from XXXXX where nazev=’Testovací požadavek‘, ale musím použít select * from XXXXX where nazev=’Testovací požadavek‘, což je dost nepraktické..

PHP skript je vytvořený a upravovaný ve Visual Studiu, uložený ve formátování UTF-8, ve zdrojovém kódu nejsou žádné informace o kódování.

Tabulka v DB má kódování utf8_general_ci, zkoušel jsem i utf8_czech_ci, ale výsledek je stále stejný.

Díky za případný tip, co upravit.

Role: Zákazník+ Web: https://www.techniciostrava.cz Vizitka: Jsi-li programátor, prohraješ s počítačem, výrobcem HW a uživatelem. Jsi-li tester, prohraješ se všemi.. Programováním i testováním se to snažím vyvrátit :-)
Otázka je uzamčena pro nové odpovědi.
Vybral nejlepší odpověď
0

Problém už jsem si vyřešil.

Stačí před uložením dat spustit mysql_query(„SET NAMES utf8“).

Stejně tak i při vyčítaní dat z databáze se rozhazovala diakritika, opět stačí spustit mysql_query(„SET NAMES utf8“).

Role: Zákazník+ Web: https://www.techniciostrava.cz Vizitka: Jsi-li programátor, prohraješ s počítačem, výrobcem HW a uživatelem. Jsi-li tester, prohraješ se všemi.. Programováním i testováním se to snažím vyvrátit :-)
Vybral nejlepší odpověď
0

Ještě pro jistotu – jedná se o PHP 5.6

Role: Zákazník+ Web: https://www.techniciostrava.cz Vizitka: Jsi-li programátor, prohraješ s počítačem, výrobcem HW a uživatelem. Jsi-li tester, prohraješ se všemi.. Programováním i testováním se to snažím vyvrátit :-)
Změnil status na publikováno
0
KB218908 5.95K - WEDOS Internet, a.s. 0 Comments

Dobrý den,

je nutné , aby se vše ukládalo ve formátu UTF8, zkontrolujte si jestli nemáte nějaký formulář , třeba tinymce, který by měl jiné kodování.

Každopádně před uložením do databáze zkuste vyvolat

mysql_query("SET NAMES 'utf-8'");

nebo

mysql_set_charset('utf8', $link);
Role: Podpora Web: https://blog.wedos.cz/wedos-ziskal-akreditaci-icann-pro-registraci-domen-a-hodlame-ji-vyuzit-naplno Vizitka: Programátor | Získali jsme akreditaci ICANN ...
Změnil status na publikováno

Kategorie