Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с кодировкой.
 
 автор: t3ma   (08.06.2008 в 19:25)   письмо автору
 
 

Есть такой документ:

<?xml version="1.0" encoding="UTF-8" ?> 
<document>
<slides prev=/gal/files/small__bonza_21.jpg" full="/gal/files/_bonza_21.jpg" txt="&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;">
</document>


Нужно именно выводить в кодировке UTF-8 Но чтобы русские буквы отображались нормально, а не квадратиками..
знаю что есть такая функция в пхп.. подскажите плз.. и если можно пример применения ее

   
 
 автор: t3ma   (09.06.2008 в 09:31)   письмо автору
 
   для: t3ma   (08.06.2008 в 19:25)
 

Что никто незнает ?

   
 
 автор: asked86   (09.06.2008 в 10:03)   письмо автору
 
   для: t3ma   (08.06.2008 в 19:25)
 

Опиши подробнее что Хоть сделать та надо тебе!

   
 
 автор: mihdan   (09.06.2008 в 11:09)   письмо автору
 
   для: t3ma   (08.06.2008 в 19:25)
 

Так вы ставьте то в UTF-8 символы и заголовок отошлите, содержащий кодировку UTF-8

<?
header
("Content-type: text/html; charset=UTF-8");
header("Content-Language: ru");
?>

   
 
 автор: t3ma   (10.06.2008 в 07:26)   письмо автору
 
   для: mihdan   (09.06.2008 в 11:09)
 

Вот код:


<?php
  
// Выставляем уровень обработки ошибок 
  
Error_Reporting(E_ALL & ~E_NOTICE); 

  
// Устанавливаем соединение с базой данных
  
require_once("../config.php");
  
  
// Подключаем вспомогательные функции
  
include "../util/functions.php";  

  
$date_from date("Y-m-d"time() - 86400*30);

  echo 
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \r\n";
  echo 
"<document>\r\n";

 
$get_new_photo = @mysql_query("SELECT * FROM images WHERE status='show'");

  if (
mysql_num_rows($get_new_photo) > 0)
  {
     while (
$photo = @mysql_fetch_array($get_new_photo))
     {
         echo 
"<slides prev=\"http://tt-s.org/gal/files/small_$photo[filename]\" full=\"http://tt-s.org/gal/files/$photo[filename]\" txt=\"" $photo["caption"] . "\" />\r\n";
     }
       }
       echo 
"</document>";
?>


Выводится в кодировке UTF-8 но нужно чтобы русские буквы были русскими а не квадратиками. Что куда дописать нужно ? помогите плз

   
 
 автор: sim5   (10.06.2008 в 07:35)   письмо автору
 
   для: t3ma   (10.06.2008 в 07:26)
 

Ничего не надо писать, а проверить сначала, что вы получаете в качестве $photo["caption"]. У вас то ведь они идут как строка одного и того же значения. Вы скорее всего получете уже из базы не то, что ожидаете.

   
 
 автор: t3ma   (10.06.2008 в 07:48)   письмо автору
 
   для: sim5   (10.06.2008 в 07:35)
 

Когда я вывожу в windows-1251 у меня все нормально, а когда в UTF-9 то квадратиками выводится... что делать ?

есть такая функация
iconv("cp1251","utf-8", $value)
только как её тут применить не знаю

   
 
 автор: sim5   (10.06.2008 в 07:55)   письмо автору
 
   для: t3ma   (10.06.2008 в 07:48)
 

А зачем тогда вам UTF-8, если данные в базе в кодировке win-1251?

   
 
 автор: t3ma   (10.06.2008 в 07:57)   письмо автору
 
   для: sim5   (10.06.2008 в 07:55)
 

Данные о фотографиях нужно выводить специально в UTF-8 так как они беруться флешем потом. флеш делали буржуи..

так как быть ?

   
 
 автор: sim5   (10.06.2008 в 08:06)   письмо автору
 
   для: t3ma   (10.06.2008 в 07:57)
 

Ну тогда так:

<?
txt
=\"" iconv("windows-1251","UTF-8",$photo["caption"]); . "\" 

Тогда (если все базе в win-1251) нужно весь контент конвертировать, иначе при указании encoding=UTF-8, у вас получится бардак на странице.

   
 
 автор: t3ma   (10.06.2008 в 08:23)   письмо автору
 
   для: sim5   (10.06.2008 в 08:06)
 

спс большое)
ребят а еще подскажите как можно вывести эти данные в формате *.xml ?
надо как то этот php конвертировать или как ?
щас я обращаюсь к нему так xml.php а надо чтобы было теже самые данные но так xml.xml
подскажте плз

   
 
 автор: sim5   (10.06.2008 в 08:34)   письмо автору
 
   для: t3ma   (10.06.2008 в 08:23)
 

РНР это серверный язык, а результат его работы, это документ - либо HTML, либо XML. Если вам нужно получить XML документ, то формируйте его по этим правилам.
А вот как обращаться к нему (файлу сценария), рояли не играет, по умолчанию сервер обрабатывает файлы сценария - расширения *.php, если добавлена обработка html (включение кода РНР в такие файлы), то и их. Хотите чтобы обрабатывались файлы с расширением как *.xml, добавьте это, но какой смысл в этом?

   
 
 автор: t3ma   (10.06.2008 в 08:41)   письмо автору
 
   для: sim5   (10.06.2008 в 08:34)
 

Понятно. Скажите пожалуйста тогда как сделать чтобы файлы с расширением *.xml обрабатывались как php

   
 
 автор: sim5   (10.06.2008 в 09:07)   письмо автору
 
   для: t3ma   (10.06.2008 в 08:41)
 

Я знаю XML на уровне "хенде хох" и не пользуюсь им.) Сделать чтобы файл с неким раширением обрабатывался как сценарий, можно через файл .htaccess, указав соответсвующее расширение. Что значит в вашем случае xml сказать определенно не могу. Но, чтобы была поддержка xml на сервере, в Апач должен быть подключен соотоветсвующий модуль, вроде бы libphp5-libxml.so.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования