Autor | Zpráva | ||
---|---|---|---|
T-ony Profil |
Dobrý den, chtěl bych se zeptat, mám ceník v CSV a koduji stránky v UTF-8.
Data z CSV pouze vypisuji do formulare, ale nazev produktu jaksi trochu nefachá: č - mi to vypíše jako kosočtverec a v něm otazník. Zkoušel jsem i funkci autoUTF($s), kterou jsem našel Nejčastější potíže s PHP (FAQ) Děkuji Moderátor Kajman: Mezi značky [>pre] a [>/pre] vkládejte prosím pouze zdrojový kód.
|
||
peta Profil |
Pokud mas spravne SET NAMES v sql, header pro charset v php, pak se soubor ulozi spravne.
Pokud ho nasledne oteviras excelem, tak je nutne mu pridat na zacatek BOM znak (coz v tom Faq ale je napsano, nevim, zda je tam zmineny csv). Podstatne teda je, jakou cestou to ukladas a zda do souboru nebo jen generujes data pro download, ukazka kodu. A tez, cim to otviras, co ti ukazuje ty divne znaky. Pokud to dela prohlizec, odesilas spatne kodovani, nepouzivas header, nebo mas v prohlizeci vnucene ne-auto kodovani, treba win-1250 natvrdo. |
||
T-ony Profil |
No ja ho v téhle fázi ani neukládám do mysql, nejdrive projedu CSV - produkty ulozim do promene a vypisu je do formulare.
Následně si uživatel vybere produkty, a teprve pak se vybrané produkty uloží do databáze. Do databáze se ale uloží už správně, jde mi tedy jenom o první fázi která z csv vypisuje do formulare. - charset mám nastaventy spravne ( tohle jsem nastavoval kdyz mi blbli vsechny stránky v prohlížeči a ted jsou ok) - stránky v textovem editoru jsou delane a ulozene v UTF-8 a UNIX Moderátor Kajman: Značky [>b] a [>/b] používejte prosím ke zdůraznění části textu nebo k označení jména diskutéra.
|
||
Tori Profil |
#4 · Zasláno: 1. 10. 2013, 13:38:43
T-ony:
A to CSV je určitě v UTF-8? |
||
peta Profil |
#5 · Zasláno: 1. 10. 2013, 14:03:39
"Do databáze se ale uloží už správně"
A to vis jak, ze je to tam spravne? Link na export z db? (3-4 produkty) Nebo to nasledne z db Vypisujes do php jeste sdalsimi tabulkami a obe se zobrazuji ve spravnem kodovani? "jde mi tedy jenom o první fázi která z csv vypisuje do formulare" Kod, ktery to cte z toho souboru a link na soubor, at si muzeme prohlednout, zda je ok? (staci tam treba 3-4 produkty, na ukazku) Treba pouzivas spatnou funkci, mas v tom nastaveny spatny header nebo to neprekodovavas spravne do stranky. Linkem na stranku by jsme mohli zkontrolovat vysledne html a tez hlavicky, ktere posila server. Linkem na soubor by jsme mohli zkontrolovat soubor csv. Poslanim kristalove koule by se dalo vestit bez splneni predchozich podminek :) |
||
T-ony Profil |
#6 · Zasláno: 1. 10. 2013, 23:55:38 · Upravil/a: T-ony
Tori:
no to ani nevím v čem je to csv..kde to muzu nastavit ? pls peta: No kdyz se podívám na phpadmin na data tak tam to je uloženy v cajku Jinak kod ze kteryho to ctu je: while(($data = fgetcsv($otevreni,1000, ";"))!== FALSE){ if(ereg(',',$data[3])){ $data[3] = ereg_replace(",",".",$data[3]); } $produkty[] = $data; } fclose($otevreni); no a z proměné data pak vypisuji.. |
||
Tori Profil |
T-ony:
Zkuste ten CSV otevřít v textovém editoru a uložit (třeba pod jiným jménem) jako UTF-8 (některé editory dávají na výběr kódování už při otevírání souboru, některé ne - nevím, co máte.) Když ten nový soubor pak načtete přes fgetcsv, jak se zobrazí? |
||
T-ony Profil |
#8 · Zasláno: 2. 10. 2013, 23:34:14
Tori:
No paradička, otevřel jsem csv v editoru, ulozil jako UTF-8 a vše je ok, ale uživatel bude vypisovat ceník produktu v exelu - následně ho uloží jako csv a pak teprve jde na prehrani souboru, muzu nejak obejít krok že by ho sám otevíral v editorul a měnil kódování ? |
||
Tori Profil |
file_get_contents, iconv, file_put_contents. Pak pokračovat dosavadním způsobem.
Anebo místo iconv zkuste použít tu funkci autoUTF, tady by se zrovna hodila víc. |
||
T-ony Profil |
#10 · Zasláno: 3. 10. 2013, 13:02:32
Tori:
já ti mockrát děkuji, už to fachá - autoUTF() |
||
Časová prodleva: 11 let
|
0