私は一週間前にこの同じ問題を抱えていました。
まず最初に、URL のパラメータ文字列の前にアンパサンドがあることに気付きましたが、おそらくパラメータ文字列を開始する代わりに疑問符が必要であり、その後に各追加パラメータの間にアンパサンドが続く必要があります。
ここで、URL をエスケープする必要がありますが、次のように、URL に渡す URL パラメーター (共有でコンテンツを提供する必要があるタイトルまたはその他のコンテンツ) もダブルエスケープする必要があります。
var myParams = 't=' + escape('Some title here.') + '&id=' + escape('some content ID or any other value I want to load');
var fooBar = 'http://www.facebook.com/share.php?u=' + escape('http://foobar.com/superDuperSharingPage.php?' + myParams);
ここで、上記のリンク先の superDuperSharingPage.php を作成する必要があります。これにより、必要な動的なタイトル、説明、および画像コンテンツが提供されます。次のようなもので十分です。
<?php
// get our URL query parameters
$title = $_GET['t'];
$id = $_GET['id'];
// maybe we want to load some content with the id I'll pretend we loaded a
// description from some database in the sky which is magically arranged thusly:
$desciption = $databaseInTheSky[$id]['description'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $title;?></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="title" content="<?php echo $title;?>" />
<meta name="description" content="<?php echo $desciption;?>" />
<!-- the following line redirects to wherever we want the USER to land -->
<!-- Facebook won't follow it. you may or may not actually want || need this. -->
<meta http-equiv="refresh" content="1;URL=http://foobar.com" />
</head>
<body>
<p><?php echo $desciption;?></p>
<p><img src="image_a_<?php echo $id;?>.jpg" alt="Alt tags are always a good idea." /></p>
<p><img src="image_b_<?php echo $id;?>.jpg" alt="Make the web more accessible to the blind!" /></p>
</body>
</html>
これがあなたのために働くかどうか私に知らせてください、それは本質的に私のためにしたことです:)