Autor Zpráva
LeePetr
Profil *
Dobrý den,

moc dobře to nechápu. Celé stránky mám nakódované v 'UTF-8', administrační rozhraní ( soubory, kde jsou MySQL UPDATE, INSERT apod. ) také. Samotná databáze běží na utf8_general_ci. Problém je v tom:

"Vkládám tento text." a doopravdy se jen uloží řetězec "Vkl". Celé se to zastaví na prvním znaménku s diakritikou, tedy od "á" to tam už není. Když vložím text bez diakritiky, uloží se tam opravdu celý ( tedy: " Vkladam tento text " ) . Není to tedy omezením znaků, těch tam může být hafo. ;)

Dle mých znalostí může být databáze kódována i v jiném jazyce než jsou samotné stránky. Hlavní je to, zda je kódování stránek jednotné. Zkoušel jsem změnit, jak stránky na "windows-1250", tak různé kódování databáze. Zatím bezvýsledně.

Důležitá věc, dělá mi to jen na internetovém hostingu. Na localhostu běhá bezproblémů. Hosting mám na Savana.cz. Setkal se někdo s tímto problémem?
AM_
Profil
1) posíláš na začátku mysql_query("SET NAMES utf8")?
2) prožeň vstupy přes mysql_escape_string()
Sirius
Profil
LeePetr:
Řešil jsem něco podobného - http://diskuse.jakpsatweb.cz/?action=vthread&forum=3&topic=101252
Snad ti něco z toho pomůže.
ONdra28
Profil *
Mám úplně stejný problém.

Kódování stránky je UTF-8, na začátku posílám hlavičku Header("Content-Type: text/html; charset=utf-8");
Tabulky v databázi jsou též UTF-8 a stejně se mi do DB vkládá hatmatilka :(
ONdra28
Profil *
a

mysql_query("SET NAMES utf8") taky nepomohla
Joker
Profil
ONdra28:
A jsou v UTF-8 uložené i všechny soubory a skripty?
ONdra28
Profil *
Používám jen 1 skript
nightfish
Profil
ONdra28:
Používám jen 1 skript
a je v UTF-8 uložen i ten 1 skript?
ONdra28
Profil *
nightfish:

Ano
Joker
Profil
Hlavně jestli v UTF-8 je to odkud jde ten řetězec, protože bych tipnul, že ta chyba je následkem toho, že ta vstupní data nejsou platný UTF-8 řetězec.
LeePetr
Profil *
Můj problém jsem už vyřešil. Velice doporučuji stránku:

http://interval.cz/clanky/mysql-cestina-a-slovenstina/

jsou tam přehledně sepsány všechny důležité věci, na které jste mohly zapomenout

Nejdříve předtím však zkontrolujte, co tu nepřímo zmínil Sirius, a to zda na hostingu neběží MySQL 4 . Tato verze nepodporuje SET NAMES a další znakové sady. Znakové sady jdou až od 4.1.

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:

0