http://prntscr.com/e2tckf Пробовал вставить разные кодировки на коде все равно коряки идут на БД кусок кода function new_config(){ $item['metadescr'] = ''; $item['qiwi_num'] = ''; $item['qiwi_pass'] = ''; $item['sitedescription'] = ''; [COLOR=#ff0000] $item['site_name'] = 'Мой магазин'; вот это идет как коряки[/COLOR] $item['wmid'] = ''; $item['wmk_file'] = ''; $item['WMR'] = ''; $item['WMZ'] = ''; $item['wm_key_date'] = ''; $item['wm_pass'] = ''; $item['coupon_percent'] = '5'; $item['coupon_time'] = '604800'; $item['favicon'] = ''; $item['button_pay'] = '/assets/img/buy.png'; $item['url_type'] = 1; $item['buy_page'] = 1; $item['domain'] = ''; return $item;} Код function new_config(){ $item['metadescr'] = ''; $item['qiwi_num'] = ''; $item['qiwi_pass'] = ''; $item['sitedescription'] = ''; [COLOR=#ff0000] $item['site_name'] = 'Мой магазин'; вот это идет как коряки[/COLOR] $item['wmid'] = ''; $item['wmk_file'] = ''; $item['WMR'] = ''; $item['WMZ'] = ''; $item['wm_key_date'] = ''; $item['wm_pass'] = ''; $item['coupon_percent'] = '5'; $item['coupon_time'] = '604800'; $item['favicon'] = ''; $item['button_pay'] = '/assets/img/buy.png'; $item['url_type'] = 1; $item['buy_page'] = 1; $item['domain'] = ''; return $item;} Кодировка БД utf8_general_ci
я все таки не смог разобраться вот мой код с этого идет запись в БД в коряки как можно исправить код <?php /* Include libs */ function lib($lib) { if(empty($lib)) { throw new Exception('Не передано значение <i>$lib</i>'); } $lib = DIR.'/engine/lib/'.$lib.'.php'; if(file_exists($lib)) include_once $lib; else throw new Exception('Lib file <i>'.$lib.'</i> not exists'); } /* Include classes */ function classes($classes) { if(empty($classes)) { throw new Exception('Не передано значение <i>$classes</i>'); } $classes = DIR.'/engine/classes/'.$classes.'.php'; if(file_exists($classes)) include_once $classes; else throw new Exception('Class file <i>'.$classes.'</i> not exists'); } /* Check XSS */ function check_xss() { $uri = $_SERVER['REQUEST_URI']; $uri_decoded = urldecode($_SERVER['REQUEST_URI']); if( strpos($uri, '*') or strpos($uri, '(') or strpos($uri, ')') or strpos($uri, '\'') or strpos($uri, '"') or strpos($uri, '`') or strpos($uri_decoded, '*') or strpos($uri_decoded, '(') or strpos($uri_decoded, ')') or strpos($uri_decoded, '\'') or strpos($uri_decoded, '"') or strpos($uri_decoded, '`') ) { die('Found illegal characters in URI'); } } /* Route */ function route() { global $route, $ex; $path = parse_url($_SERVER['REQUEST_URI']); $ex = explode('/', $path['path']); if($path['path']==='/') { $route['/']['config'] = parse_tree($route['/']['config']); return $route['/']; } foreach($route as $k => $v) { $k = str_replace(':any', '.+', str_replace(':num', '[0-9]+', $k)); if (preg_match('#^'.$k.'$#', $path['path'])) { $v['config'] = parse_tree($v['config']); return $v; } } show_404(); } /* Parse TREE config */ function parse_tree($str='') { if($str==='') return array(); $els = explode('|', $str); $config = array(); foreach($els as $v) { if(strpos($v, '=')) { list($key, $value) = explode('=', $v); $config[$key] = $value; } else { $config[$v] = true; } } return $config; } /* Load database */ function load_db() { global $config, $db; if(!config('db_loaded')) { log_message('INFO', 'db isn\'t loaded. Load db'); lib('db'); $db = new db("mysql:host=". $config['database']['host'] .";dbname=". $config['database']['db'], $config['database']['user'], $config['database']['password'] ); $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); config('db_loaded', $db); return $db; } else { log_message('INFO', 'db is loaded. Getting loaded'); return config('db_loaded'); } } /* Load view */ function view($view='', $data=array(), $tpl=false) { global $config, $db; if($tpl) $tpl = DIR.'/templates/'. $tpl.'/'; else $tpl = defined('TPL') ? TPL : DIR.'/templates/'. config('template').'/'; if(!file_exists($tpl.$view.'.php')) { throw new Exception('View file '.$tpl.$view.'.php not exists!'); } else { include_once $tpl.$view.'.php'; } } /* Load function */ function load($file='', $data=array()) { if(!file_exists(DIR.'/'.$file)) { throw new Exception('Load file '.$file.' not exists!'); } else { include_once DIR.'/'.$file; } } /* Edit page title */ function title($title='') { global $config; $config['title'] = $title; } /* Show 404 */ function show_404($tpl='') { header("HTTP/1.0 404 Not Found"); header('Status: 404 Not Found'); header('HTTP/1.0 404 Not Found'); view('pages/404', NULL, $tpl); die(); } /* Validate E-Mail */ function valid_email($address) { return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $address)) ? FALSE : TRUE; } function log_message($level, $msg){ $filepath = DIR.'/engine/data/log.txt'; if ( ! $fp = @fopen($filepath, 'a')) { return FALSE; } $message = $level.' '.(($level == 'INFO') ? ' -' : '-').' '.date('r'). ' --> '.$msg."\n"; flock($fp, LOCK_EX); fwrite($fp, $message); flock($fp, LOCK_UN); fclose($fp); @chmod($filepath, FILE_WRITE_MODE); } function new_config(){ $item['metadescr'] = ''; $item['qiwi_num'] = ''; $item['qiwi_pass'] = ''; $item['sitedescription'] = ''; $item['site_name'] = 'Мой магазин'; $item['wmid'] = ''; $item['wmk_file'] = ''; $item['WMR'] = ''; $item['WMZ'] = ''; $item['wm_key_date'] = ''; $item['wm_pass'] = ''; $item['coupon_percent'] = '5'; $item['coupon_time'] = '604800'; $item['favicon'] = ''; $item['button_pay'] = '/assets/img/buy.png'; $item['url_type'] = 1; $item['buy_page'] = 1; $item['domain'] = ''; return $item; } function argument( $num=false) { global $ex; if($num) return isset( $ex[$num]) ? $ex[$num] : false; else return $ex; } function config( $key, $value=false) { global $config; if( $value) return $config[ $key] = $value; else return isset( $config[ $key]) ? $config[ $key] : false; } /* Ru Date: * F Полное наименование месяца, например Января или Марта от Января до Декабря * M Сокращенное наименование месяца, 3 символа От Янв до Дек * l (строчная 'L') Полное наименование дня недели От Воскресенье до Суббота * D Сокращенное наименование дня недели, 2 символа от Вс до Сб * остальные варианты форматирования см. функцию date() в мануале. */ function rudate($format, $timestamp = 0, $nominative_month = false) { if(!$timestamp) $timestamp = time(); elseif(!preg_match("/^[0-9]+$/", $timestamp)) $timestamp = strtotime($timestamp); $F = $nominative_month ? array(1=>"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь") : array(1=>"Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"); $M = array(1=>"Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"); $l = array("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"); $D = array("Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"); $format = str_replace("F", $F[date("n", $timestamp)], $format); $format = str_replace("M", $M[date("n", $timestamp)], $format); $format = str_replace("l", $l[date("w", $timestamp)], $format); $format = str_replace("D", $D[date("w", $timestamp)], $format); return date($format, $timestamp); } function csrf($code, $input=true) { $csrf = md5($code.')%&%&^$)*^%)*YGL&&&&&&$%)*GYP*)T_(&T'); return $input ? '<input type="hidden" name="csrf" value="'.$csrf.'" />' : $csrf; } function get_alt($var, $lower = true, $punkt = true) { if ( is_array($var) ) return ""; $alt_replace = array( 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'e', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ь' => '', 'ы' => 'y', 'ъ' => '', 'э' => 'e', 'ю' => 'yu', 'я' => 'ya', "ї" => "yi", "є" => "ye", 'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z', 'И' => 'I', 'Й' => 'Y', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch', 'Ь' => '', 'Ы' => 'Y', 'Ъ' => '', 'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya', "Ї" => "yi", "Є" => "ye", ); $var = str_replace(chr(0), '', $var); $var = trim( strip_tags( $var ) ); $var = preg_replace( "/\s+/ms", "-", $var ); $var = str_replace( "/", "-", $var ); $var = strtr($var, $alt_replace); if ( $punkt ) $var = preg_replace( "/[^a-z0-9\_\-.]+/mi", "", $var ); else $var = preg_replace( "/[^a-z0-9\_\-]+/mi", "", $var ); $var = preg_replace( '#[\-]+#i', '-', $var ); $var = preg_replace( '#[.]+#i', '.', $var ); if ( $lower ) $var = strtolower( $var ); $var = str_ireplace( ".php", "", $var ); $var = str_ireplace( ".php", ".ppp", $var ); if( strlen( $var ) > 200 ) { $var = substr( $var, 0, 200 ); if( ($temp_max = strrpos( $var, '-' )) ) $var = substr( $var, 0, $temp_max ); } return $var; } Код <?php /* Include libs */ function lib($lib) { if(empty($lib)) { throw new Exception('Не передано значение <i>$lib</i>'); } $lib = DIR.'/engine/lib/'.$lib.'.php'; if(file_exists($lib)) include_once $lib; else throw new Exception('Lib file <i>'.$lib.'</i> not exists'); } /* Include classes */ function classes($classes) { if(empty($classes)) { throw new Exception('Не передано значение <i>$classes</i>'); } $classes = DIR.'/engine/classes/'.$classes.'.php'; if(file_exists($classes)) include_once $classes; else throw new Exception('Class file <i>'.$classes.'</i> not exists'); } /* Check XSS */ function check_xss() { $uri = $_SERVER['REQUEST_URI']; $uri_decoded = urldecode($_SERVER['REQUEST_URI']); if( strpos($uri, '*') or strpos($uri, '(') or strpos($uri, ')') or strpos($uri, '\'') or strpos($uri, '"') or strpos($uri, '`') or strpos($uri_decoded, '*') or strpos($uri_decoded, '(') or strpos($uri_decoded, ')') or strpos($uri_decoded, '\'') or strpos($uri_decoded, '"') or strpos($uri_decoded, '`') ) { die('Found illegal characters in URI'); } } /* Route */ function route() { global $route, $ex; $path = parse_url($_SERVER['REQUEST_URI']); $ex = explode('/', $path['path']); if($path['path']==='/') { $route['/']['config'] = parse_tree($route['/']['config']); return $route['/']; } foreach($route as $k => $v) { $k = str_replace(':any', '.+', str_replace(':num', '[0-9]+', $k)); if (preg_match('#^'.$k.'$#', $path['path'])) { $v['config'] = parse_tree($v['config']); return $v; } } show_404(); } /* Parse TREE config */ function parse_tree($str='') { if($str==='') return array(); $els = explode('|', $str); $config = array(); foreach($els as $v) { if(strpos($v, '=')) { list($key, $value) = explode('=', $v); $config[$key] = $value; } else { $config[$v] = true; } } return $config; } /* Load database */ function load_db() { global $config, $db; if(!config('db_loaded')) { log_message('INFO', 'db isn\'t loaded. Load db'); lib('db'); $db = new db("mysql:host=". $config['database']['host'] .";dbname=". $config['database']['db'], $config['database']['user'], $config['database']['password'] ); $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); config('db_loaded', $db); return $db; } else { log_message('INFO', 'db is loaded. Getting loaded'); return config('db_loaded'); } } /* Load view */ function view($view='', $data=array(), $tpl=false) { global $config, $db; if($tpl) $tpl = DIR.'/templates/'. $tpl.'/'; else $tpl = defined('TPL') ? TPL : DIR.'/templates/'. config('template').'/'; if(!file_exists($tpl.$view.'.php')) { throw new Exception('View file '.$tpl.$view.'.php not exists!'); } else { include_once $tpl.$view.'.php'; } } /* Load function */ function load($file='', $data=array()) { if(!file_exists(DIR.'/'.$file)) { throw new Exception('Load file '.$file.' not exists!'); } else { include_once DIR.'/'.$file; } } /* Edit page title */ function title($title='') { global $config; $config['title'] = $title; } /* Show 404 */ function show_404($tpl='') { header("HTTP/1.0 404 Not Found"); header('Status: 404 Not Found'); header('HTTP/1.0 404 Not Found'); view('pages/404', NULL, $tpl); die(); } /* Validate E-Mail */ function valid_email($address) { return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $address)) ? FALSE : TRUE; } function log_message($level, $msg){ $filepath = DIR.'/engine/data/log.txt'; if ( ! $fp = @fopen($filepath, 'a')) { return FALSE; } $message = $level.' '.(($level == 'INFO') ? ' -' : '-').' '.date('r'). ' --> '.$msg."\n"; flock($fp, LOCK_EX); fwrite($fp, $message); flock($fp, LOCK_UN); fclose($fp); @chmod($filepath, FILE_WRITE_MODE); } function new_config(){ $item['metadescr'] = ''; $item['qiwi_num'] = ''; $item['qiwi_pass'] = ''; $item['sitedescription'] = ''; $item['site_name'] = 'Мой магазин'; $item['wmid'] = ''; $item['wmk_file'] = ''; $item['WMR'] = ''; $item['WMZ'] = ''; $item['wm_key_date'] = ''; $item['wm_pass'] = ''; $item['coupon_percent'] = '5'; $item['coupon_time'] = '604800'; $item['favicon'] = ''; $item['button_pay'] = '/assets/img/buy.png'; $item['url_type'] = 1; $item['buy_page'] = 1; $item['domain'] = ''; return $item; } function argument( $num=false) { global $ex; if($num) return isset( $ex[$num]) ? $ex[$num] : false; else return $ex; } function config( $key, $value=false) { global $config; if( $value) return $config[ $key] = $value; else return isset( $config[ $key]) ? $config[ $key] : false; } /* Ru Date: * F Полное наименование месяца, например Января или Марта от Января до Декабря * M Сокращенное наименование месяца, 3 символа От Янв до Дек * l (строчная 'L') Полное наименование дня недели От Воскресенье до Суббота * D Сокращенное наименование дня недели, 2 символа от Вс до Сб * остальные варианты форматирования см. функцию date() в мануале. */ function rudate($format, $timestamp = 0, $nominative_month = false) { if(!$timestamp) $timestamp = time(); elseif(!preg_match("/^[0-9]+$/", $timestamp)) $timestamp = strtotime($timestamp); $F = $nominative_month ? array(1=>"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь") : array(1=>"Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"); $M = array(1=>"Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"); $l = array("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"); $D = array("Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"); $format = str_replace("F", $F[date("n", $timestamp)], $format); $format = str_replace("M", $M[date("n", $timestamp)], $format); $format = str_replace("l", $l[date("w", $timestamp)], $format); $format = str_replace("D", $D[date("w", $timestamp)], $format); return date($format, $timestamp); } function csrf($code, $input=true) { $csrf = md5($code.')%&%&^$)*^%)*YGL&&&&&&$%)*GYP*)T_(&T'); return $input ? '<input type="hidden" name="csrf" value="'.$csrf.'" />' : $csrf; } function get_alt($var, $lower = true, $punkt = true) { if ( is_array($var) ) return ""; $alt_replace = array( 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'e', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ь' => '', 'ы' => 'y', 'ъ' => '', 'э' => 'e', 'ю' => 'yu', 'я' => 'ya', "ї" => "yi", "є" => "ye", 'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z', 'И' => 'I', 'Й' => 'Y', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch', 'Ь' => '', 'Ы' => 'Y', 'Ъ' => '', 'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya', "Ї" => "yi", "Є" => "ye", ); $var = str_replace(chr(0), '', $var); $var = trim( strip_tags( $var ) ); $var = preg_replace( "/\s+/ms", "-", $var ); $var = str_replace( "/", "-", $var ); $var = strtr($var, $alt_replace); if ( $punkt ) $var = preg_replace( "/[^a-z0-9\_\-.]+/mi", "", $var ); else $var = preg_replace( "/[^a-z0-9\_\-]+/mi", "", $var ); $var = preg_replace( '#[\-]+#i', '-', $var ); $var = preg_replace( '#[.]+#i', '.', $var ); if ( $lower ) $var = strtolower( $var ); $var = str_ireplace( ".php", "", $var ); $var = str_ireplace( ".php", ".ppp", $var ); if( strlen( $var ) > 200 ) { $var = substr( $var, 0, 200 ); if( ($temp_max = strrpos( $var, '-' )) ) $var = substr( $var, 0, $temp_max ); } return $var; } <? if(!defined('DIR')) die('access error'); $shop_type = 0; $db = &$GLOBALS['db']; if(!empty($data['free_shop'])){ $work_time = 604800; $shop_type = 1; $goods['domain'] = $_POST['domain'].$_POST['domain_suffix']; $goods['email'] = $_POST['email']; $goods['passwd'] = $_POST['passwd']; if(!empty($_COOKIE['referer'])) { $referer = $_COOKIE['referer']; }else { $referer = ''; } }elseif($goods['size']==150){ $referer = $goods['referer']; $work_time = 2678400; }elseif($goods['size']==430){ $referer = $goods['referer']; $work_time = 8035200; }elseif($goods['size']==850){ $referer = $goods['referer']; $work_time = 16070400; }elseif($goods['size']==1600){ $referer = $goods['referer']; $work_time = 31622400; }else{ $referer = $goods['referer']; $work_time = 100; } $goods['domain'] = mb_strtolower($goods['domain']); $s1 = substr($goods['domain'], 0, 1); $s2 = substr($goods['domain'], 1, 1); $s3 = substr($goods['domain'], 2, 1); $s4 = substr($goods['domain'], 3); $dir = $_SERVER['DOCUMENT_ROOT'].'/assets/users_files/'.$s1.'/'; if(!file_exists($dir)){ mkdir($dir); } $dir .= $s2.'/'; if(!file_exists($dir)){ mkdir($dir); } $dir .= $s3.'/'; if(!file_exists($dir)){ mkdir($dir); } $dir .= $s4.'/'; if(!file_exists($dir)){ mkdir($dir); } $tpl = $db->query('SELECT * FROM `tpls` WHERE `deleted`=0 AND `domain`="s00.1.su"')->fetch(PDO::FETCH_ASSOC); $tpl['domain'] = $goods['domain']; unset($tpl['id'], $tpl['deleted']); $db->insert('tpls', $tpl); file_put_contents($dir.'/style.css', file_get_contents($_SERVER['DOCUMENT_ROOT'].'/assets/users_files/s/0/0/.1.su/style.css')); $query = array(); $query[] = 'INSERT INTO `users`(`email`,`password`,`domain`) VALUES("'. htmlspecialchars( $goods['email']) .'", "'. md5($goods['passwd']) .'", "'. $goods['domain'] .'");'; $query[] = 'INSERT INTO `accounts`(`domain`, `status`, `endTime`, `closedTime`, `type`, `referer`) VALUES("'. $goods['domain'] .'",1,'. ( $_SERVER['REQUEST_TIME'] + $work_time) .', '. ( $_SERVER['REQUEST_TIME'] + $work_time + 432000) .', '.$shop_type.', "'.htmlspecialchars($referer).'")'; $query[] = 'INSERT INTO `cache_manage`(`domain`, `deleted`) VALUES("'. $goods['domain'] .'", 0)'; unset($data); $query[] = 'INSERT INTO `shopsHistory`(`domain`, `type`) VALUES("'. $goods['domain'] .'", "created")'; foreach($query as $q){ $db->query($q); } unset($query); $add_config = $db->prepare('INSERT INTO `config`(`metadescr`, `qiwi_num`, `qiwi_pass`, `sitedescription`, `site_name`, `wmid`, `wmk_file`, `WMR`, `WMZ`, `wm_key_date`, `wm_pass`, `coupon_percent`, `coupon_time`, `favicon`, `button_pay`, `url_type`, `buy_page`, `domain`) VALUES(:metadescr, :qiwi_num, :qiwi_pass, :sitedescription, :site_name, :wmid, :wmk_file, :WMR, :WMZ, :wm_key_date, :wm_pass, :coupon_percent, :coupon_time, :favicon, :button_pay, :url_type, :buy_page, :domain)'); $dats = new_config(); $dats['domain'] = $goods['domain']; $add_config->execute($dats); $subject = "Ваш магазин создан!"; $message = file_get_contents(DIR.'/engine/data/email.txt'); $message = str_replace( array( '{email}', '{password}', '{domain}' ), array( $goods['email'], $goods['passwd'], $goods['domain'] ), $message ); $headers = "Content-type: text/html; charset=UTF-8 \r\n"; mail($goods['email'], $subject, $message, $headers); Код <? if(!defined('DIR')) die('access error'); $shop_type = 0; $db = &$GLOBALS['db']; if(!empty($data['free_shop'])){ $work_time = 604800; $shop_type = 1; $goods['domain'] = $_POST['domain'].$_POST['domain_suffix']; $goods['email'] = $_POST['email']; $goods['passwd'] = $_POST['passwd']; if(!empty($_COOKIE['referer'])) { $referer = $_COOKIE['referer']; }else { $referer = ''; } }elseif($goods['size']==150){ $referer = $goods['referer']; $work_time = 2678400; }elseif($goods['size']==430){ $referer = $goods['referer']; $work_time = 8035200; }elseif($goods['size']==850){ $referer = $goods['referer']; $work_time = 16070400; }elseif($goods['size']==1600){ $referer = $goods['referer']; $work_time = 31622400; }else{ $referer = $goods['referer']; $work_time = 100; } $goods['domain'] = mb_strtolower($goods['domain']); $s1 = substr($goods['domain'], 0, 1); $s2 = substr($goods['domain'], 1, 1); $s3 = substr($goods['domain'], 2, 1); $s4 = substr($goods['domain'], 3); $dir = $_SERVER['DOCUMENT_ROOT'].'/assets/users_files/'.$s1.'/'; if(!file_exists($dir)){ mkdir($dir); } $dir .= $s2.'/'; if(!file_exists($dir)){ mkdir($dir); } $dir .= $s3.'/'; if(!file_exists($dir)){ mkdir($dir); } $dir .= $s4.'/'; if(!file_exists($dir)){ mkdir($dir); } $tpl = $db->query('SELECT * FROM `tpls` WHERE `deleted`=0 AND `domain`="s00.1.su"')->fetch(PDO::FETCH_ASSOC); $tpl['domain'] = $goods['domain']; unset($tpl['id'], $tpl['deleted']); $db->insert('tpls', $tpl); file_put_contents($dir.'/style.css', file_get_contents($_SERVER['DOCUMENT_ROOT'].'/assets/users_files/s/0/0/.1.su/style.css')); $query = array(); $query[] = 'INSERT INTO `users`(`email`,`password`,`domain`) VALUES("'. htmlspecialchars( $goods['email']) .'", "'. md5($goods['passwd']) .'", "'. $goods['domain'] .'");'; $query[] = 'INSERT INTO `accounts`(`domain`, `status`, `endTime`, `closedTime`, `type`, `referer`) VALUES("'. $goods['domain'] .'",1,'. ( $_SERVER['REQUEST_TIME'] + $work_time) .', '. ( $_SERVER['REQUEST_TIME'] + $work_time + 432000) .', '.$shop_type.', "'.htmlspecialchars($referer).'")'; $query[] = 'INSERT INTO `cache_manage`(`domain`, `deleted`) VALUES("'. $goods['domain'] .'", 0)'; unset($data); $query[] = 'INSERT INTO `shopsHistory`(`domain`, `type`) VALUES("'. $goods['domain'] .'", "created")'; foreach($query as $q){ $db->query($q); } unset($query); $add_config = $db->prepare('INSERT INTO `config`(`metadescr`, `qiwi_num`, `qiwi_pass`, `sitedescription`, `site_name`, `wmid`, `wmk_file`, `WMR`, `WMZ`, `wm_key_date`, `wm_pass`, `coupon_percent`, `coupon_time`, `favicon`, `button_pay`, `url_type`, `buy_page`, `domain`) VALUES(:metadescr, :qiwi_num, :qiwi_pass, :sitedescription, :site_name, :wmid, :wmk_file, :WMR, :WMZ, :wm_key_date, :wm_pass, :coupon_percent, :coupon_time, :favicon, :button_pay, :url_type, :buy_page, :domain)'); $dats = new_config(); $dats['domain'] = $goods['domain']; $add_config->execute($dats); $subject = "Ваш магазин создан!"; $message = file_get_contents(DIR.'/engine/data/email.txt'); $message = str_replace( array( '{email}', '{password}', '{domain}' ), array( $goods['email'], $goods['passwd'], $goods['domain'] ), $message ); $headers = "Content-type: text/html; charset=UTF-8 \r\n"; mail($goods['email'], $subject, $message, $headers);
GOLD_9, зачем лезть в эту сферу, если не знаешь элементарных вещей? После $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); Код $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); Надо написать $db->exec("set names utf8"); Код $db->exec("set names utf8"); А у самой бд указать utf8_general_ci
GOLD_9, в твоём коде я не увидел вывод какой-то информации, дай полный код или вставь в самое начало тега <head> <meta charset="utf-8"> Код <meta charset="utf-8">
Спойлер <?php if(!defined('DIR')) die('access error'); $els = explode('-', argument(2)); $pos = strpos(argument(2), '-'); $id = substr(argument(2), 0, $pos); $url = substr(argument(2), ($pos+1)); if(empty($id) or empty($pos)) show_404('default'); $db = load_db(); $post = $db->prepare('SELECT * FROM `help_posts` WHERE `id`=:id'); $post->bindparam(':id', $id); $post->execute(); $post = $post->fetch(PDO::FETCH_ASSOC); if(!$post) show_404('default'); if($post['url']!==$url) { header('Location: /help/'.$post['id'].'-'.$post['url']); die(); } $add_view = $db->prepare('UPDATE `help_posts` SET `view`=`view`+1 WHERE `id`=:id'); $add_view->bindparam(':id', $id); $add_view->execute(); title($post['name']); view('parts/header', $data); ?> <h1 class="small"><?php echo $post['name']; ?></h1> <?php echo $post['text']; view('parts/footer'); ?> Код <?php if(!defined('DIR')) die('access error'); $els = explode('-', argument(2)); $pos = strpos(argument(2), '-'); $id = substr(argument(2), 0, $pos); $url = substr(argument(2), ($pos+1)); if(empty($id) or empty($pos)) show_404('default'); $db = load_db(); $post = $db->prepare('SELECT * FROM `help_posts` WHERE `id`=:id'); $post->bindparam(':id', $id); $post->execute(); $post = $post->fetch(PDO::FETCH_ASSOC); if(!$post) show_404('default'); if($post['url']!==$url) { header('Location: /help/'.$post['id'].'-'.$post['url']); die(); } $add_view = $db->prepare('UPDATE `help_posts` SET `view`=`view`+1 WHERE `id`=:id'); $add_view->bindparam(':id', $id); $add_view->execute(); title($post['name']); view('parts/header', $data); ?> <h1 class="small"><?php echo $post['name']; ?></h1> <?php echo $post['text']; view('parts/footer'); ?> Еще на хостинге все работает нормально и с кодировкой проблем нет а на ВПСе такая вот проблема с кодировкой
GOLD_9, Замени это if(!defined('DIR')) die('access error'); Код if(!defined('DIR')) die('access error'); на header('Content-Type: text/html; charset=utf-8', true); if(!defined('DIR')) die('access error'); Код header('Content-Type: text/html; charset=utf-8', true); if(!defined('DIR')) die('access error');