enidra
شنبه 11 آذر 1391, 17:09 عصر
سلام
من با استفاده از pdo dblib به یک دیتا بیس qslserver2008 وصل شدم و دیتا رو هم دریافت می کنم , کاراکتر های انگلیسی دریت دریافت و نمایش داده می شوند اما کاراکتر های فارسی به صورت یک لوزی تو پر مشکی که علامت سوال سفید رنگ در وسط اون هست , نمایش داده میشه ,
charset=UTF-8 رو در کد اضافه کردم اما مشکل قبل وجود داره ,
در کل از کد های زیر استفاده کردم ,
برای اینکه خروجی دزست بگیرم چیکار باید بکنم ؟
اینم بگم که من از یک سایت به زبان پی اچ پی به دیتا بیس SQLserver2008 وصل شدم و دیتا گرفتم
و collation تیبل sqlserver2008 ,
collation=SQL_Latin1_General_CP1256_CI_AS هست
$hostdb = "212.16.73.225";
$port = 1433;
$namedb = "sgdb";
$userdb = "sa";
$passdb = "ea123";
try {
$dbh = new PDO ("dblib:host=$hostdb:$port;dbname=$namedb;charset=UT F-8","$userdb","$passdb");
$dbh->exec('SET CHARACTER SET utf8');
$dbh->query("SET NAMES utf8");
}
catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$stmt = $dbh->prepare("SELECT *
FROM [sgdb].[INV].[Part]");
$stmt->execute();
while ($row = $stmt->fetch()) {
print($row['PartCode']) . "\n";
print($row['PartName']);
print "<br/>";
}
unset($dbh); unset($stmt);
من با استفاده از pdo dblib به یک دیتا بیس qslserver2008 وصل شدم و دیتا رو هم دریافت می کنم , کاراکتر های انگلیسی دریت دریافت و نمایش داده می شوند اما کاراکتر های فارسی به صورت یک لوزی تو پر مشکی که علامت سوال سفید رنگ در وسط اون هست , نمایش داده میشه ,
charset=UTF-8 رو در کد اضافه کردم اما مشکل قبل وجود داره ,
در کل از کد های زیر استفاده کردم ,
برای اینکه خروجی دزست بگیرم چیکار باید بکنم ؟
اینم بگم که من از یک سایت به زبان پی اچ پی به دیتا بیس SQLserver2008 وصل شدم و دیتا گرفتم
و collation تیبل sqlserver2008 ,
collation=SQL_Latin1_General_CP1256_CI_AS هست
$hostdb = "212.16.73.225";
$port = 1433;
$namedb = "sgdb";
$userdb = "sa";
$passdb = "ea123";
try {
$dbh = new PDO ("dblib:host=$hostdb:$port;dbname=$namedb;charset=UT F-8","$userdb","$passdb");
$dbh->exec('SET CHARACTER SET utf8');
$dbh->query("SET NAMES utf8");
}
catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$stmt = $dbh->prepare("SELECT *
FROM [sgdb].[INV].[Part]");
$stmt->execute();
while ($row = $stmt->fetch()) {
print($row['PartCode']) . "\n";
print($row['PartName']);
print "<br/>";
}
unset($dbh); unset($stmt);