Fwrite vs. UTF-8 – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Fwrite vs. UTF-8 – PHP – Fórum – Programujte.comFwrite vs. UTF-8 – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
yaqwsx+9
Posthunter
13. 8. 2010   #1
-
0
-

Z formuláře načtu do GET string, který následně potřebuji zapsat do souboru v UTF-8. Mám však problém; do souboru se mi občas připlete znak 0A, což je nový řádek, ale např. poznámkový blok jej zobrazí jako čtvereček (neznámý znak). Tento znak bývá na konci dat z formuláře, ale když se jej pokouším přímo v PHP vyhodit, tak tam není -> musí ho tam přidávat fwrite. Co stím?

Doufám, že jsem se vyjádřil ostatečně jasně

Nahlásit jako SPAM
IP: 85.160.93.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Reklama
Reklama
zdenda
~ Anonymní uživatel
257 příspěvků
13. 8. 2010   #2
-
0
-

V textovém režimu se převádí ukončovače řádků, což tento znak je (0x0A - \n), ale výsledkem snad nikdy není přidání 0x0A a výchozí režim je binární. Jinak fwrite s daty nic nedělá, takže buď v těch datech je, nebo ho tam přidáváš.
Čili, jakým způsobem se ten znak pokoušíš odstranit? A jakým způsobem ta data zapisuješ?

Nahlásit jako SPAM
IP: 213.211.51.–
yaqwsx+9
Posthunter
13. 8. 2010   #3
-
0
-

Znak jsme se snažil odstranit pomocí str_replace:

str_replace(chr(10), "", $retezec);
a data z formuláře zapisji takto:
$soubor=fopen("default.conf", "w");

fwrite($soubor, $retezec);

Nahlásit jako SPAM
IP: 85.160.93.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
15. 8. 2010   #4
-
0
-

Zkouším, zkoumám tápu... Toto je moje první zkušenost s PHP a nějak se sním nemůžu sžít.Zlaté C++, ale to je OT
Jediné, v čem jsem pokročil je zjištění, že je to systémově vázaný problém - na linuxu v apache vše chodí bezproblémů. Dále vím, že se jená o problém s novým řádkem, který je získán z formuláře a při zapisování se nezapíše korektně dle systému. Ale odstarnit tento znak se mi nedaří...

Nahlásit jako SPAM
IP: 85.160.97.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
15. 8. 2010   #5
-
0
-
Nahlásit jako SPAM
IP: 85.160.97.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Cicero0
Newbie
15. 8. 2010   #6
-
0
-

No ono je to tak, že pre riadkovanie sa používa:



\r\n // Windows
\r // Mac OS
\n //Linux

Preto si to treba nejak ošetriť (napr. pomocou overenia OS (konštanta PHP_OS)).

Nahlásit jako SPAM
IP: 85.135.154.–
Vo svete programovania bezpečnosť znamená vypnúť safe_mode...
yaqwsx+9
Posthunter
15. 8. 2010   #7
-
0
-

To Cicero : Ano, to vím. Ale všechny moje dosavadní snahy o odstranění nového řádku nefungovaly. I dkyž jsem zkoušel napsat třeba řešení přímo pod Windows, tak mi fungovalo na Linuxu, ale pod oknama nejelo. Tady to odstranění funguje na všech systémech (Mac jsem nezkoušel)

Nahlásit jako SPAM
IP: 85.160.68.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 161 hostů

Podobná vlákna

Fwrite... — založil Anonymní uživatel

Fwrite zápis do souboru — založil ha_ppy

UTF-8 kódování — založil sigf07

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý