суть проблемы такова, все доки излазил вконтакте, ненашол как кнопку utf-8 сделать...
сейчас кнопку прикрутил, но кодировка в кнопке не отображается, собственно вот ссылка ...
<?php
$merchant_id = 'ххх';
$secret = 'тут ваш ключ сикретный';
preg_match("/[^0-9]*([0-9]{1,8})[\s\S]*/",$product_price,$pprice);
$item = array(
'id' => $product_id,
'name' => $product_name,
'description' => $product_s_desc,
'price' => $pprice[1],
'photo_url' => $product_thumb_image
);
$script .= 'window.prepareOrder = function() { var result = {';
$script .= 'testmode: 1,';
$params = array();
$params['merchant_id'] = 16217;
$script .= 'merchant_id: 16217,';
$params['item_id'] = $item['id'];
$script .= 'item_id: "'.$item['id'].'",';
$params['item_name'] = $item['name'];
$script .= 'item_name: "'.str_replace(array('\\', '"'), array('\\\\', '\\"'), $item['name']).'",';
$params['item_description'] = $item['description'];
$script .= 'item_description: "'.str_replace(array('\\', '"'), array('\\\\', '\\"'), $item['description']).'",';
$params['item_currency'] = 'RUB';
$script .= 'item_currency: "RUB",';
$params['item_price'] = $item['price'];
$script .= 'item_price: "'.$item['price'].'",';
$params['item_photo_url'] = $item['photo_url'];
$script .= 'item_photo_url: "'.$item['photo_url'].'",';
ksort($params);
$str = '';
foreach ($params as $k => $v) {
$str .= $k.'='.$v;
}
$str=str_replace(""",'',$str);
$str=str_replace("&",'&',$str);
$script=str_replace("&",'&',$script);
$script=str_replace(""",'',$script);
$sig = md5($str.$secret);
$text .= 'sig: "'.$sig.'"}; return result; };';
$text .= 'document.write(VK.Merchant.wishbutton(prepareOrder));';
?>
<script type="text/javascript" src="http://vkontakte.ru/js/api/merchant.js?8" charset="UTF-8"></script>
<script type="text/javascript">
<?php echo $script.$text; ?>
</script>