Tässä hiukan mietin sitä, millä tavalla esim. windows serverille laitetut rivinvaihdot toimii linux-järjestelmissä.
Käytän yleensä ohjelmissani vain muotoa "r\n".
Kiinostaisi tietää, toimiiko tämä hyvin myös linux-alustalla? Onko tarpeen tehdä ohjelmasta (varsinkin maksullisesta), toinenkin versio, jossa rivinvaihto on "\n" ja on tarkoitettu(suositeltu) vain linuxia varten?
Entä oliko vielä jotain poikkeavia järjestelmiä, joissa tuo rivinvaihto on eri tavalla?
Maceissa perinteisesti \n\r (OS X:ssä lienee \n). Mutta et kertonut mitä se ohjelma tekee, missä rivinvaihtoja käytetään jne. Riippuu aika pitkälti siitä miten pitäisi hoitaa. Nettisivuihin liittyen ei paljoa väliä, enkä kyllä nettisivuja lähtisi tekemään eri käyttiksiä varten. Väärä alue vai jokin erikoisapplikaatio?
Ihan vaan olen suunnitellut ohjelmaa, jonka meinasin laittaa jossakin vaiheessa myyntiin. Esim. tällainen yksinkertainen juttu:
$rivi = $_POST['asennustieto']."\r\n".$_POST['asennustieto2']."\r\n".$_POST['asennustieto3'];
Ohjelman asennukseen liittyen. Tallennetaan tiedot tiedostoon eri riveille.
Aika vähän tässä muuten tarvitsee noita rivinvaihtoja, kun käytetään pääasiassa mysqliä. Nuokin on vain asennuksen helpottamista varten.
Jos tuo "\r\n" systeemi ei toimi jossakin käyttiksessä samoin, epäonnistunut rivinvaihto voi tehdä siihen esim. ylimääräisiä rivinvaihtoja. Ajattelin, että teen eri käyttiksiä varten oman ohjelman, jos se on tarpeen. En voi testata, kun minulla on vain windows ja unix.
Ainakaan kaikki notepadit ei osaa lukia rivinvaihtoja jos käytät \n. Mikäli tiedostoja ei ole tarkoituskaan muokata käsin, on (~)sama käyttää tuota \n ("nopeammaksi" väittäisin, koodata sekä tiedostoa käsitellessä kun on vähemmän merkkejä kirjoitettava/luettavana).
Ainakin itselläni on \n toiminut kaikilla alustoilla, ei ole tullut mitään ongelmia. Tai no, Wikatoosalla ja Linuxilla ainakin on toiminut, Maceilla en ole kokeillut.
\n eli newline tuottaa tulosteeseen yleensä järjestelmäkohtaisen rivinvaihdon eli LF:n UNIXissa ja CR+LF:n Windowsissa (http://en.wikipedia.org/wiki/Newline). Täytyy kuitenkin huomata, että esim. socket-ohjelmoinnissa, jos protokoilla vaatii erottimeksi \r\n:n niin sinne on annettava \r\n ei pelkkä \n ts. \n toimii yleensä vain tulosteiden (tiedosto, näyttö) kanssa.
Testasin sen verran, että XP:ssä toimii \n myös oikein, joten ilmeisesti serkku Windows Server 2003 ymmärtää myös.
Onko jollakin kokemusta Macista? Kannattako sille laittaa mitään eli onko Macilla miten laajalti netissä toimivia verkkopalvelimia? En ole tutkinut asiaa...
Aihe on jo aika vanha, joten et voi enää vastata siihen.