Diskuze: psaní háček do databáze
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 27 zpráv z 27.
//= 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.
SET NAMES cp1250;
Nic víc tam psát nemusíš. Data tam nahrej znovu.
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES cp1250"
nefunguje ř a č mi to stejně nevypisuje
A funguje ti to v adminovi? Třeba máš aplikaci blbě. Kdybys používal UTF-8, nemusíš takové věci vůbec řešit.
Zřejmě vstupní data nemáš v cp1250, ale možná v UTF-8. V tom případě je samozřejmě nutné napsat
SET NAMES utf8;
Dal sem tam cp1250 tak to začalo psát čákra a ž,š ě
poté sem jěště nastavil tabulku na cp1250_czech_cs
ale stejně mi to č a ř nebere tak nevim proč
Ale takhle se nedá experimentovat. Musíš vědět, jaké znaky tam dáváš. Pokud je to UTF-8, tak musíš do deklarace napsat utf8. Pokud tam dáváš Latin2, musíš tam napsat latin2.
Jaké znaky do té DB cpeš? To nesmíš hádat, ale musíš vědět a podle toho nastavit konfiguraci.
Záleží jak na kódování v DB, tak na kódování samotných souborů v PHP aplikaci, hlavičce stránek a podobně. Chyba může být na mnoha místech, psal jsem ti, ať si to zprovozníš pod UTF-8 alespoň v adminovi, abychom se měli od čeho odpíchnout. Pravděpodobně máš i samotná data špatně a to enspraví že v DB něco přepneš, musíš je nahrát znovu.
data sem nahrával z Excelu a když sem nahrával data nastavil jsem je na windows-1250
takže všuda mám nastaveno kodovani windows a nic
Zřejmě nemáš. Zkusil jsi tam ta data nahrát znovu se správným kódováním? Co kdybys to celé udělal znovu kompletně s UTF-8?
celé to mám v utf8:
mb_internal_encoding("UTF-8");
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
a porovnání utf8_czech_ci (ani bez toho mi to nejde)
ale už mi to nevipisuje ani čárky a žádné háčky prostě nic utf8 mi nefunguje .
Již potřetí se tě ptám, jestli to máš v pořádku v Adminovi. Pokud nechceš pomoct, nevím, proč píšeš na forum. Na kódování Windows zapomeň, to už jsem ti také psal.
jo mimochodem sem na adminovi a mam to ok data sem nahral znovu, chci pomoct. ale utf8 mi proste nejde uplně to zdeformuje data chapete a kdyz tam mam windows tak to nepíše pouze ř a č a píše místo nich otazníky.
Že ti to zdeformuje pouze něco neznamená, že je to lepší, je to ten samý problém. Mám to ok mv adminovi znamená co? Vidíš v PHPMyAdmin nebo jiném nástroji co používáš pro správu databáze diakritiku v datech normálně, když si data zobrazíš? Pokud ano, máš z poloviny vyhráno, protože databáze je v pořádku. Je tedy problém na straně aplikace. Máš tam HTML hlavičku s UTF-8? A soubor je také v UTF-8?
mám úplně stejný problém
na straně databáze je vše v pořádku pokud přidám data přes
phpmyadmina tak "ěščřžýáíé" naprosto v pořádku, ale pokud to přidám
přes aplikaci... výstup je"Ä?Å?žýáÃÃ"
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Celý projekt jede na UTF-8 databáze taktéž soubory jsou také úložené
v kódování UTF-8. Sakra už fakt nevím kde by mohl být problém.
Vypádá to, jako kdybys původní UTF-8 překódovával z domnělého cp1250 na UTF-8. Druhou (zbytečnou) transformací se to takhle rozhodí.
já všechny data smazal z cp1250 jsem předělal na utf8 a data nahrál a
vzniklo tohle
Pokud to tam nahráváš přes webový formulář, tak ten to interně překódovává podle znakové sady webu. Tedy pokud tu stránku máš v UTF-8, tak i když do textarea napíšeš text v cp1250, je před přenosem na server překódován do UTF-8. Vkládej tam tedy takový text, který pro tebe bude čitelný.
To jsem teda moc nepochopil, pokud mám databázi v UTF-8 a celý web page
mam taky v UTF-8 a posílám to přes formulář do kterého píšu
(ěščřžý) tak se to v UTF-8 i odešle na server podle toho co říkáš. V
tom případě absolutně nevím kde je chyba protože db je v UTF 8 je v
pořádku aplikace,celý projekt a všechny page v něm je v kódování UTF-8
nevím proč mi tedy do DB posílá nesmysli. Příjde mi že mam všechno v
pořádku i když je něco
absolutně špatně kámoš říkal že to dělá netbeans že to celé kóduje
ve windows1250 i když jsem celý projekt v properties překódoval na UTF8?
Jinak fakt už nevím kde je zrada
přikládám soubor prosím o radu:
databáze: CREATE TABLE obedy (id INT UNSIGNED AUTO INCREMENT,
polevka TEXT, menu1 TEXT, menu2 TEXT, datum TINYTEXT)
Zobrazeno 27 zpráv z 27.