[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: кодировка UTF-8. Установка локали...
lostbananan
Код у меня такой:
echo setlocale(LC_ALL, 'Russian_Russia.65001'), PHP_EOL;
echo '<br />', strftime('Число: %d, месяц: %B, день недели: %A');

На страницу выводит (показываю источник страницы):


<br />Число: 28, месяц: May, день недели: Tuesday<p><!DOCTYPE html>

Т.е. первыое есшо - он вообще ничего не вывел - локаль не установил ну а дальше - сами видите...
Как с этим бороться?
А вообще на данный момент времени мне надо в строковых переменных менять регистр символов...
Ос - виндовс 7, установил денвер...
mmsgold
если дело в кодировке, то в самом начале отправляешь заголовок
header("Content-Type: text/html; charset=utf-8");
так вот в каком формате ты отпрафишь запрос, в таком тебе и придет ответ... на все остальное браузеру пофиг
lostbananan
Цитата (mmsgold @ 28.05.2013 - 13:04)
если дело в кодировке, то в самом начале отправляешь заголовок
header("Content-Type: text/html; charset=utf-8");
так вот в каком формате ты отпрафишь запрос, в таком тебе и придет ответ... на все остальное браузеру пофиг

У меня в начале скрипта:
<?php
header('Content-Type: text/html; charset=utf-8');

а браузер на код:
    echo setlocale(LC_ALL, 'Russian_Russia.65001', 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251'), PHP_EOL;
// в принципе мне нужен Russian_Russia.65001, но рнр его почему-то не видит:
// Вывод локализованных сообщений, например, даты

echo '<br />', strftime('Число: %d, месяц: %B, день недели: %A');
echo "<p>";
/выводит:
Russian_Russia.1251
Число: 28, месяц: ���, день недели: �������
mmsgold
попробуй пересохрани в другой кодировке в Notepad++
lostbananan
Сейчас попробую в Нотепаде - я пользуюсь PhpED...
lostbananan
Открыл в нотепаде - файл у меня в кодировке УТФ-8 (без ВОМ)...
mmsgold
UTF попробуй оба варианта с DOM и без него,,, на Денвере и на хосте тоже были с этим проблемы...хотя должно было и хедера вроде хватить.... отпишись как прошло
lostbananan
Когда попробывал Просто УТФ -8. Он мне выдал:
Warning: Cannot modify header information - headers already sent by (output started at W:\home\horoscop_b\www\index.php:1) in W:\home\horoscop_b\www\index.php on line 3
Russian_Russia.1251
Число: 28, месяц: ���, день недели: �������
На всякий случай привожу полны код скрипта до того места ге выводится дата...:
<?php
// на всяк випадок, бо оголошення в сторінці інколи не зпрацьовують
header('Content-Type: text/html; charset=utf-8');
if (isset($_REQUEST['id'])){
// id передається
$id=$_REQUEST['id'];
}else{
// id немає генерую випадкове id - номер знаку зодіаку
$id=rand(1, 12);
}
// читаю гороскоп для данного знаку з сервера
if($xml = @simplexml_load_file('http://horoscope.ra-project.net/api/'.$id)){
$name=$xml->item['name'];
$text=$xml->item->text;
$date=$xml->item['date'];}
else{
// якщо апі не доступна - пооки що нічого не робимо
echo "Eroor!";
exit;
}
// не залежно від того чи це перший виклик скрипта чи він викликає сам себе - задати заголовок сторінки, намалювати фон і у ньому дві смуги для вибору (знак-лінк) знаку зодіаку
//setlocale(LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));


echo setlocale(LC_ALL, 'Russian_Russia.65001', 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251'), PHP_EOL;

// Вывод локализованных сообщений, например, даты
echo '<br />', strftime('Число: %d, месяц: %B, день недели: %A');
echo "<p>";
?>

Дальше у меня идет лабуда с HTML и рнр в перемешку...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.