PHP + fSockOpen

From: Date: Mon, 13 Sep 2004 17:20:13 +0000
Subject: PHP + fSockOpen
Groups: php.windows 
Request: Send a blank email to php-windows+get-24575@lists.php.net to get a copy of this message
Why does my opened socket not receive unicode data? I have made a script for translating my languagefile using babelfish, but when translating to russian,chinese,japanese, etc. i only gets either " " or ");" as result. What may be the problem? The code is as follows: $host = "babelfish.altavista.com"; $codebegin = 'style=padding:10px;>'; $codeend = '</div>'; $word = "hello"; $fp = fsockopen("{$host}", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $returned = ""; $pp = "lp=en_jp&trtext=".urlencode("$word"); $post = "POST /tr HTTP/1.1\r\n"; $post .= "Host: {$host}\r\n"; $post .= "Content-type: application/x-www-form-urlencoded\r\n"; $post .= "Content-length: ".strlen($pp)."\r\n"; $post .= "Connection: Close\r\n"; $post .= "\r\n"; $post .= $pp; $out = $post; fwrite($fp, $out); while (!feof($fp)) { $returned.= fgets ($fp, 128); } $pos = strpos($returned,$codebegin); if("'{$pos}'" != "''"){ $pos2 = strpos($returned,$codeend,$pos); $w2 = substr($returned, $pos + strlen($codebegin), $pos2 - ($pos + strlen($codebegin))); ".chr(13).chr(10)); print '{$w2}'; #{$word}"; } } fclose($fp); /* #LanguageCodes: en_zh en_zt en_nl en_fr en_de en_el en_it en_ja en_ko en_pt en_ru en_es */

« previous php.windows (#24575) next »