beh9am 96 ارسال شده در مهر 93 گزارش بازنشر ارسال شده در مهر 93 سلام و خسته نباشیدمن با استفاده از یک کد از سایتم بک آپ میگیرم اما مشکل اینه که کلمه های فارسی دیتابیس به صورت ؟؟؟؟؟؟؟ ذخیره میشنکد من اینه:<?php//script for make full backup in host//Devaloped By Pr0grammer//Released at 30/1/2013 2:38AM//global setting$host='localhost';$user='test_test';$pass='55555';$dbname='majale';//***********************************************$file=explode("/",curPageURL());$file=$file[0].'/'.$file[1].'/'.$file[2].'/file_backup.zip';backup_tables($host,$user,$pass,$dbname);zip_make();echo "<center><h3>Backup Created Successfully..!</h3><br/>";echo "<a href=$file>Download Now</a></center>";//***********************************************function backup_tables($host,$user,$pass,$name,$tables = '*'){$link = mysql_connect($host,$user,$pass); mysql_select_db($name,$link); //get all of the tables if($tables == '*') { $tables = array(); $result = mysql_query('SHOW TABLES'); while($row = mysql_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } //cycle through foreach($tables as $table) { $result = mysql_query('SELECT * FROM '.$table); $num_fields = mysql_num_fields($result); $return.= 'DROP TABLE IF EXISTS '.$table.';'; $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table)); $return.= "\n\n".$row2[1].";\n\n"; for ($i = 0; $i < $num_fields; $i++) { while($row = mysql_fetch_row($result)) { $return.= 'INSERT INTO '.$table.' VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = ereg_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ");\n"; } } $return.="\n\n\n"; } //save file $handle = fopen('db-backup.sql','w+'); fwrite($handle,$return); fclose($handle);}//*********************************************function zip_make(){$zip = new ZipArchive();//back up file name$zip->open('file_backup.zip', ZipArchive::CREATE);//path for zip$dirName = realpath(dirname(__FILE__));if (!is_dir($dirName)) {throw new Exception('Directory ' . $dirName . ' does not exist');}$dirName = realpath($dirName);if (substr($dirName, -1) != '/') {$dirName.= '/';}$dirStack = array($dirName);$cutFrom = strrpos(substr($dirName, 0, -1), '/')+1;while (!empty($dirStack)) {$currentDir = array_pop($dirStack);$filesToAdd = array();$dir = dir($currentDir);while (false !== ($node = $dir->read())) {if (($node == '..') || ($node == '.')) {continue;}if (is_dir($currentDir . $node)) {array_push($dirStack, $currentDir . $node . '/');}if (is_file($currentDir . $node)) {$filesToAdd[] = $node;}}$localDir = substr($currentDir, $cutFrom);$zip->addEmptyDir($localDir);foreach ($filesToAdd as $file) {$zip->addFile($currentDir . $file, $localDir . $file);}}$zip->close();}//****************************************function curPageURL() {$pageURL = 'http';if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}$pageURL .= "://";if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];} else { $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];}return $pageURL;}?>ممنون میشم بگید مشکل کد کجاست نقل قول لینک به ارسال
SM-Mahdavi 5427 ارسال شده در مهر 93 گزارش بازنشر ارسال شده در مهر 93 سلامزمان فراخوانی هم به صورت ???? لود میشن؟ 3 نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در مهر 93 گزارش بازنشر ارسال شده در مهر 93 باید Collation دیتابیسی که روش بک آپ رو ذخیره می کنید utf8_persian_ci یا utf8_general_ci باشه در ضمن برای بک آپ روی لوکال این آموزش رو هم بخونید[sharedmedia=tutorials:tutorials:310] 4 نقل قول لینک به ارسال
kasra 4929 ارسال شده در مهر 93 گزارش بازنشر ارسال شده در مهر 93 شما وقتی دسترسی لوکل داری چرا از هاست اقدام نمیکنی ؟ 4 نقل قول لینک به ارسال
beh9am 96 ارسال شده در مهر 93 مالک گزارش بازنشر ارسال شده در مهر 93 (ویرایش شده) سلامزمان فراخوانی هم به صورت ???? لود میشن؟وقتی ؟؟؟ ذخیره میشن موقع فراخوانی هم همین هستندباید Collation دیتابیسی که روش بک آپ رو ذخیره می کنید utf8_persian_ci یا utf8_general_ci باشهدر ضمن برای بک آپ روی لوکال این آموزش رو هم بخونیدشما وقتی دسترسی لوکل داری چرا از هاست اقدام نمیکنی ؟این کد خیلی خوبه چون حجم هاست من به چند گیگ میرسه و حجم دیتابیس سنگینه ولی با این کد به راحتی در 1 دقیقه میشه فول بکآپ گرفت و انتقال میدم به هاست دانلودهمه چی خوبه ولی وقتی فایل دیتابیس به اسم db-backup.sql ذخیره میشه تو هاست کلمه های فارسی به صورت ؟؟؟؟؟ ذخیره میشناگر این مشکل را در کد برطرف کنید ممنون میشم ویرایش شده مهر 93 توسط beh9am نقل قول لینک به ارسال
kasra 4929 ارسال شده در مهر 93 گزارش بازنشر ارسال شده در مهر 93 بعد از اتصال به بانک این کد رو استفاده کنید :mysql_query('SET NAMES \'utf8\''); 3 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .