кодировка ru_RU.CP1251

Статус
В этой теме нельзя размещать новые ответы.

akimov_aleks

Постоялец
Регистрация
15 Авг 2007
Сообщения
526
Реакции
104
PHP:
setlocale(LC_ALL, 'ru_RU.CP1251');
setlocale(LC_NUMERIC, 'C'); 

if(!isset($db_host)){
   $db_host         = "localhost";
   $db_base         = "db";
   $db_user         = "root";
   $db_password     = "";
Выводяться каракули. в чем может быть дело
 
может кодировка самих данных (файла, БД) UTF-8?
 
а может "SET NAMES cp1251‎" ?
 
все нашел ошибку
PHP:
function sql_connect(){
  global $db_host, $db_base, $db_user, $db_password;

  if(!($link=mysql_pconnect($db_host, $db_user, $db_password))) return 0;
  if(!@mysql_select_db($db_base,$link)) return 0;
  mysql_db_query($db_base, "set CHARACTER SET DEFAULT");
  //mysql_db_query($db_base, "SET NAMES cp1251");

  return 1;
}

function sql_query($s){
  global $db_base;

  mysql_db_query($db_base, "SET NAMES cp1251"); // вот тут исправил все заработала
  
  if(!($r=mysql_db_query($db_base, $s))){ 
     sql_error();
  }
  return $r;
}
тему можно удалить
 
Правильнее было бы запрос "SET NAMES cp1251" делать после коннекта, а не перед каждым запросом. А то каждый запрос к БД превращается в два.
 
И правда, 1 раза достаточно при коннекте
 
PHP:
<?
$db = mysql_connect ("localhost","user","password");
mysql_select_db("database",$db);

mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
?>

Добавь в самое начало файла и будет тебе счастье )
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху