Newsgroup: it.comp.www.php
Titolo: problema con charset e protocollo nntp

ciao a tutti
stavo provando il protocollo nntp
e ho visto che ogni tanto c'è qualche problema con alcuni caratteri.
La cosa dovrebbe dipendere dal charset mal impostato
vengono fuori stringe tipo =?iso-8859-15?Q?ullall=E0...?=
come faccio in php ad aggiustare la cosa?
c'è un modo per settare un charset di default e quindi autoaggiustare la
cosa? :p
ciaoz
-- 
"Indovina il film:
Ercole è un impresario di attricette e fantasisti.
Quando il suo miglior comico, Rudi Sciacca, ha un incidente e non può
esibirsi, Ercole decide di far salire sul palco il suo autista Nicola...
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=3925
"
Mentre scirio posta, sono lez: 11/06/2005 10.51.05
http://www.x-privat.org
 e si posta dibbrutto.

 come faccio in php ad aggiustare la cosa?
Non lo so. E come gestisci tutto l'ambaradam del MIME?
Ciao,
 ___ 
/_|_\  Umberto Salsi
\/_\/  
www.icosaedro.it

 
ehm... ancora non ci sono incappato :p
sto andando a tentativi
x esempio il ciclo while(!feof($fp))...
*dove fp proviene da una fsockopen e dai successivi puts
non mi funziona, mi va in loop infinito
x leggere un mex ho dovuto usare:
while(!(strpos($line,".")===0))
ma cosě se uno mette il punto nel mezzo del messaggio, kaput :)
-- 
"Indovina il film:
L'agente dell'FBI Joe Dee Foster, per poter catturare un pericoloso serial
killer, chiede l'aiuto del dottor Animal, anchegli pericoloso criminale.
Nel frattempo, la fidanzata di Joe fugge con un ingente somma di denaro e
si rifugia in un misterioso motel...
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=7160
"
Mentre scirio posta, sono lez: 11/06/2005 22.05.43


 while(!(strpos($line,".")===0))
[..] 
ma hai almeno letto la RFC 977?
ti consgilio di farlo.. risparmieresti molto tempo in errori del genere..
e soprattutto ti aiuterebbe a strutturare l'intero progetto..
-- 
www.iuz-lab.info

 e soprattutto ti aiuterebbe a strutturare l'intero progetto..
a dire la verità no
http://www.faqs.org/rfcs/rfc977.html
ma avevo letto una breve guida in italiano con le specifiche principali
proverò cmq a leggermela con calma (soprattutto x vedere se posso risolvere
la storia dei charset)
cmq, quel che non sono ancora riuscito a fare, è lo sfoglio completo del
messaggio
mi pare di capire che ogni mex finisca col punto (in telnet, si conclude
con quello)
ma non ho ben capito come fare il loop x leggere l'intero messaggio
-- 
"Indovina il film:
Quattro storie che si intrecciano in una serie di eventi imprevedibili,
comici e surreali: un pugile fallito, due gangster, uno spacciatore, due
rapinatori...
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=911
"
Mentre scirio posta, sono lez: 12/06/2005 11.45.47


 ma hai almeno letto la RFC 977?
non gabisco cmq
se il loop lo faccio così while (!feof($fp)) 
mi va in loop infinito (codice trovato su vecchi post)
se invece lo faccio così while(!(strpos($line,".")===0)), mi esce quando
trova il primo punto
come faccio ad uscire quando c'è il punto finale???
-- 
"Indovina il film:
Londra, 1870.
Il giovane Sherlock Holmes e il suo amico John Watson frequentano il
college.
Un giorno però iniziano ad accadere strane morti...
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=2992
"
Mentre scirio posta, sono lez: 12/06/2005 18.59.42


 come faccio ad uscire quando c'è il punto finale???
if( strcmp($linea, ".\r\n") ){ fine dell'articolo }
Poi pero' prometti che leggi tutti gli RFC coinvolti, ok?


 
le sto leggendo, ho difatti migliorato alcune cosette :)
-- 
"Indovina il film:
Per catturare un serial killer, una detective dell'FBI, deve ricorrere
all'aiuto di Hannibal Lecter, un ex psichiatra ora rinchiuso in un
manicomio criminale perchè divorava i suoi pazienti.
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=200
"
Mentre scirio posta, sono lez: 12/06/2005 21.36.30


 
-- 
www.iuz-lab.info

 }
ho provato, ma niente, si blocca subito
ho provato anche così
while(trim($line=fgets($fp,1024))=='.') 
ma niente, non stampa a video niente
ma anche se funzionasse, questo script se trova una riga con solo il . , mi
sbatte fuori, no?
-- 
"Indovina il film:
Nick Wells è un ladro che decide di lasciare la via del crimine per fare
una vita onesta.
Però il suo compagno Max gli fa una proposta che non può rifiutare: rubare
un prezioso scettro francese di inestimabile valore.
Ad affiancare Nick in questo colpo ci sarà il giovane ed impulsivo Jackie.
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=937
"
Mentre scirio posta, sono lez: 12/06/2005 22.59.43


 mi sbatte fuori, no?
[..]
no..
nella RFC 977 di fatti dovrebbe essere spiegato come funziona detto metodo..
invia un messaggio su un NG di test usando linee con un solo '.' e poi
tramite telnet prova a leggere il messaggio..
-- 
www.iuz-lab.info

 
qui ti lascio un codice di esempio che sembra funziona..
<?php
$fp = fsockopen('
news.tin.it
', '119');
echo $line = fgets($fp, 1024);
fputs($fp, "GROUP it.comp.www.php\r\n");
echo $line = fgets($fp, 1024);
$line = split(' ', $line);
fputs($fp, "ARTICLE {$line[2]}\r\n");
while (($line = fgets($fp, 1024)) != ".\r\n")
  echo "$line";
?>
-- 
www.iuz-lab.info

 tramite telnet prova a leggere il messaggio..
ma scusa, noi stiamo parlando del metodo php per leggere questo flusso di
dati, no?
con telnet e coi ng ho fatto molte prove
ho postato con i newsreader e ho letto i mex, con dialog ovviamente prende
mex come questo:
prova
.
...
...
ciao
con la mia funzione, con il metodo da me usato, mi sbatte fuori quando
trova una riga che inizia col . (quindi mi mostra solo 'prova')
perchè io per ora uso questo metodo: while(!(strpos($line,".")===0))
lo stesso problema lo avevo anche nella funzione che usavo x postare
se mettevo un . ad inizio frase, mi chiudeva prima il post
perchè il punto è la chiusura del comando postz
quindi in quel caso ho risolto aggiungendo uno spazio dopo il punto (se
singolo e ad inizio riga)
se intendevi dire altro, non ho capito :p
-- 
"Indovina il film:
Herbie il maggiolino matto, sta viaggiando come clandestino su una nave, ma
quando viene scoperto viene buttato in mare.
Approdato in Messico, Herbie farà amicizia col giovane Paco, un vero
birbante a caccia di guai...
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=9274
"
Mentre scirio posta, sono lez: 12/06/2005 23.35.56


 ?>
questo funziona come il mio, nel senso che anche lui, quando trova un .
dentro il messaggio, esce dal ciclo!
ovviamente ho preso solo la parte
while (($line = fgets($fp, 1024)) != ".\r\n")
e per sicurezza ho provato a cambiare il mio
fputs($fp, "ARTICLE $quale\r\n");
dato che prima era solo \n (ma penso sia giusto)
il tuo script pesca o il primo o l'ultimo (non ricordo la posizione) mex
del ng del php, ma ha lo stesso problema, aimč
-- 
"Indovina il film:
Per cercare di fermare uno spietato killer chiamato "The Jackal", il
governo americano fa uscire di prigione un ex terrorista dell'IRA, Declan
Mulqueen, l'unico in grado di riconoscere il misterioso killer.
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=2239
"
Mentre scirio posta, sono lez: 12/06/2005 23.50.29


 
.. 
... 
.. 
[/output]
che e' esattamente l'output desiderato..
-- 
www.iuz-lab.info

 del ng del php, ma ha lo stesso problema, aimè
come non detto
while(($line=fgets($fp,1024))!=".\r\n")
ora funziona
evidentemente avevo cannato qualcosa, forse avevo lasciato lo stesso dentro
il ciclo l'fgets, manneja!
thanks
-- 
"Indovina il film:
Siamo nel 1193 avanti Cristo.
Paride di Troia rapisce la splendida Elena al re di Troia Menelao.
Inizierà così una guerra che durerà 10 anni...
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=134
"
Mentre scirio posta, sono lez: 14/06/2005 21.08.03
