|
|
|
| В массиве $_SESSION хранятся некоторые данные, которые нужны постоянно на сайте.
Использую session_start(); при загрузке каждой страницы.
Есть скрипт, который отрабатывает динамично аяксом, в котором также нужны данные из $_SESSION. В начале этого скрипта также использую session_start(); (иначе переменные не подтягиваются естественно).
Проблема в следующем: скрипт обращается к mysql и использует кодировку utf-8, хотя сам сайт в 1251, и получается так, что после отработки этого скрипта переменные в массиве $_SESSION, которые написаны русскими символами превращаются сами понимаете во что ;)
И при последующей работе сайта они все в таком виде :(
Убираю session_start(); из скрипта - все ок, но соответсвенно не могу получить доступ к переменным из массива $_SESSION.
Как быть?
Пробовал
$_SESSION['data'] = from_utf($_SESSION['data']);
function from_utf($data)
{
return iconv('utf-8','windows-1251',$data);
}
|
Не помогло. | |
|
|
|
|
|
|
|
для: MRE
(04.07.2007 в 09:31)
| | Что мешает хранить данные utf-8 в отдельном элементе массива $_SESSION? | |
|
|
|
|
|
|
|
для: Trianon
(04.07.2007 в 09:45)
| | Отдельно для utf, отдельно для 1251 чтоли? | |
|
|
|
|
|
|
|
для: MRE
(04.07.2007 в 09:31)
| | Ну по такому куску кода точно сложно сказать, последовательность следующая, если данные в базе хранятся в кодировке cp1251 то извлекаем данные и переводим их в utf-8 , обрабатываем и выводим, просто скорее всего надо внимательнее посмотреть текст скрипта | |
|
|
|
|
|
|
|
для: вит
(04.07.2007 в 10:39)
| |
<?php
session_start();
header('Content-Type: text/xml; charset=windows-1251');
include("../inc/module/init.php");
include("../inc/module/db_class.php");
$_SESSION['login'] = to_utf($_SESSION['login']);
$db1 = new db();
$db1->query("SELECT * FROM users WHERE id='{$_SESSION['id']}'");
$row = $db1->fetch();
$login = $row['login'];
........................................
|
Что только не пробовал ничего не помогло - сбивает и все, в базе хранится все в utf. | |
|
|
|
|
|
|
|
для: MRE
(04.07.2007 в 10:53)
| | Все, справился.
Не стал искать сложных путей.
Сделал в загаловке страницы считывание логина из БД и все работает ;) | |
|
|
|