nurettin adlı üyeden alıntı: mesajı görüntüle
programın kendi emülatörü üzerinden kod gönderdim. Bu kod başarılı bir sonuç veriyor.

bu kodu php ile göndermem gerekiyor.

Gönderdigim kod:
³UU³³1³1³³P³26/02/2014³09:00³28/02/2014³12:30³³³0³0³0³0³0³7³³³³³³³³³³

Bu yeterli bir bilgi. Sorun, daha önceki mesajımda da belirttiğim gibi SimpleByteArray sınıfını yazarken unicode desteğini sunmamamış olmam. Ayrıca belirttiğim diğer bir husus da söz konusu; string türünün sunucuda null bir byte ile sonlandırılmaması. Bu hususları düzeltmek için, write_string metodunun altına aşağıdaki metodu ekleyin;

  /**
   * @param string $val
   * @param bool   $null_terminator
   */
  public function write_mb_string($val, $null_terminator = true)
  {
    $val          = $val ? $val : '';
    $string_array = preg_split('//u', $val, -1, PREG_SPLIT_NO_EMPTY);

    foreach($string_array as $letter)
    {
      list(, $code) = unpack('N', mb_convert_encoding($letter, 'UCS-4BE', 'UTF-8'));
      $this->write_byte($code);
    }

    if($null_terminator)
      $this->write_byte(0x00);
  }
Paketi göndermek istediğiniz noktadaki kodlarınızı da şu şekilde değiştirin;

<?
define('STX', 0x02);
define('ETX', 0x03);
define('LRC', 0x0D);

$host   = '127.0.0.1';
$port   = 1234;
$socket = fsockopen($host, $port);

$packet = new SimpleByteArray();
$packet->write_byte(STX); // STX
$packet->write_mb_string('³UU³³1³1³³P³26/02/2014³09:32³28/02/2014³09:32³³³0³0³0³0³0³7³³³³³³³³³³', false); // Message
$packet->write_byte(ETX); // ETX
$packet->write_byte(LRC); //LRC

@socket_write($socket, $packet, strlen($packet));
@fflush($socket);
@fclose($socket);
?>

<h3>Paket Dokumu:</h3>
<pre>
<?
$bytes = $packet->bytes();

for($i = 0; $i < count($bytes); $i++)
{
  $hex_val = str_pad(strtoupper(dechex($bytes[$i])), 2, 0, STR_PAD_LEFT);
  echo "{$hex_val} ";

  if(!$i) continue;
  if(($i + 1) % 16 == 0) echo PHP_EOL;
}
?>
</pre>
Alacağınız sonuç aşağıdaki gibi olmalı;
Paket Dokumu:

02 B3 55 55 B3 B3 31 B3 31 B3 B3 50 B3 32 36 2F 
30 32 2F 32 30 31 34 B3 30 39 3A 33 32 B3 32 38 
2F 30 32 2F 32 30 31 34 B3 30 39 3A 33 32 B3 B3 
B3 30 B3 30 B3 30 B3 30 B3 30 B3 37 B3 B3 B3 B3 
B3 B3 B3 B3 B3 B3 03 0D