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

Форум MySQL

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

 

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

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

тема: Помогите поменять кодировку
 
 автор: kobra   (28.08.2007 в 15:50)   письмо автору
 
 

У меня стоит движок PHP-Fusion у него используеться кодировка Windoows-1251 но в базе даных у меня есть информация написана на Юникоде. Иза этого на сайте можна увидить или только эту информацию или навигационную панель. Мне уже сказали что то, что написано на Юникоде нельзя перевести в Windows 1251. Как можна исправить проблему, чтоб не пришлось переписывать весь движок?

   
 
 автор: cheops   (28.08.2007 в 15:53)   письмо автору
 
   для: kobra   (28.08.2007 в 15:50)
 

Используется MySQL? Если да, то сразу после установки соединения с MySQL выполняйте запрос
SET NAMES cp1251

MySQL должна будет автоматически преобразовать UTF8 в cp1251.

   
 
 автор: kobra   (01.09.2007 в 13:13)   письмо автору
 
   для: cheops   (28.08.2007 в 15:53)
 

НУ помогите пожалуста, вчера целый день парился ничего не получаеться(((

   
 
 автор: mihdan   (28.08.2007 в 17:55)   письмо автору
 
   для: kobra   (28.08.2007 в 15:50)
 


<?php
mysql_connect
(........);
mysql_select_db(........);
mysql_query('SET NAMES cp1251');
?>

   
 
 автор: kobra   (30.08.2007 в 22:59)   письмо автору
 
   для: mihdan   (28.08.2007 в 17:55)
 

Не помогает. И еще я не знаю почему но когда пробую редактировать поля через пхпадмин оно показывает следующу ошибку:
#1267 - Illegal mix of collations (utf8_general_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '='

   
 
 автор: cheops   (01.09.2007 в 13:53)   письмо автору
 
   для: kobra   (30.08.2007 в 22:59)
 

У вас всё содержимое на utf8 или часть на cp1251, а часть на utf8? Если часть, то какая?

   
 
 автор: kobra   (01.09.2007 в 18:47)   письмо автору
 
   для: cheops   (01.09.2007 в 13:53)
 

все той ошибки уже не выдает, но не перекладает все равно. Обясняю как скрипт работает:
я достаю страницу http://www.haddan.ru/inner/api.php?op=clan&clanid=patriots
На сервере ее можна доставать только раз в 25 секунд поэтому содержимое я копирую в базу даных и если прошло менше 25 секунд то я достаю страницу оттуда, если уже больше то я обновляю страницу в базе даных. Как видите оно в формате XML кодировка UTF8

   
 
 автор: cheops   (02.09.2007 в 11:20)   письмо автору
 
   для: kobra   (01.09.2007 в 18:47)
 

Так, это понятно, а что тогда вызывает сложности? У вас для всех файлов (и UTF-8 и cp1251) единый скрипт установки соединения с базой данных - может стоит ввести два разных скрипта? Или дело не в этом?

   
 
 автор: kobra   (02.09.2007 в 19:32)   письмо автору
 
   для: cheops   (02.09.2007 в 11:20)
 

Я думаю дело не в этом. Я записал все в файл и будто перекладает нормально, но как я понял тепер ошибка во время обработки XML. Для обработки я нашел хорошую функцию здесь: http://www.criticaldevelopment.net/xml/parser_php5.phps и вот во время ообработки оно выдает ошибку:
Notice: XML Parsing Error at 2:229. Error 9: Invalid character in o:\home\qwe\www\funcxml.php on line 37

   
 
 автор: kobra   (04.09.2007 в 17:48)   письмо автору
 
   для: cheops   (02.09.2007 в 11:20)
 

ап

   
 
 автор: Trianon   (04.09.2007 в 18:14)   письмо автору
 
   для: kobra   (04.09.2007 в 17:48)
 

как Вы обращаетесь к этому классу?

Между прочим, класс раccчитан на php 5.0 не ниже.
У Вас версия php соответствует?

   
 
 автор: kobra   (04.09.2007 в 19:04)   письмо автору
 
   для: Trianon   (04.09.2007 в 18:14)
 

Соотвествует. Если не менят кодировку с utf8 на cp1251 нет никаких ошыбок.

   
 
 автор: Trianon   (04.09.2007 в 19:39)   письмо автору
 
   для: kobra   (04.09.2007 в 19:04)
 

по-моему, проблема несовсем в классе.
Я вижу точно такое же поведение, но лишь когда пытаюсь вывести print_r от созданного объекта разбора.
Видимо, его нельзя print_r'ить без неприятностей.
Я вывернулся таким кодом:

<?php
  
include('parser.php');

  
$xml file_get_contents('http://www.haddan.ru/inner/api.php?op=clan&clanid=patriots');
  
$v = new XMLParser($xml);
  
$v->Parse();

  
print_r($v->document->tagChildren);

?>

   
 
 автор: kobra   (05.09.2007 в 20:46)   письмо автору
 
   для: Trianon   (04.09.2007 в 19:39)
 

Почему мне кажеться что оно сделало все нормально... структура очень большая получилась но мне кажеться она правильна...Но вот почему оно не работает с другой кодировкой не знаю...

   
 
 автор: Trianon   (05.09.2007 в 23:26)   письмо автору
 
   для: kobra   (05.09.2007 в 20:46)
 

В конце концов, никто не заставляет пльзоваться этим классом.
Вы можете самостоятельно применить вызовы xml_parse... и иже с ним.
Вот близкая тема (тоже разбор XML через инструмент xml_parse)
http://softtime.ru/forum/read.php?id_forum=1&id_theme=35334
http://softtime.ru/forum/read.php?id_forum=1&id_theme=35127
http://softtime.ru/forum/read.php?id_forum=1&id_theme=34820

Ваш поток разбирает буквально до

Array
(
    [1684] => Array
        (
            [USERID] => 1684
            [USERNAME] => Kobra
            [CLAN] => patriots
            [SEX] => 1
            [RACE] => elf
            [LEVEL] => 14
            [CLANNAME] => Patriots
            [ICON] => 
            [RANK_LEVEL] => 72
            [RANK_NAME] => Генеральний Писар
            [PROFESSION] => miner
            [PROF_RANK] => 4
            [ROOMNAME] => Староград
            [ONLINE] => 1
            [ALIGN] => Сердце: Воин, Разум: Послушник;lawfulgood.gif
        )

    [2235] => Array
        (
            [USERID] => 2235
            [USERNAME] => Axell
            [CLAN] => patriots
            [SEX] => 1
            [RACE] => human
            [LEVEL] => 15
            [CLANNAME] => Patriots
            [ICON] => 
            [RANK_LEVEL] => 100
            [RANK_NAME] => Глава
            [PROFESSION] => miner
            [PROF_RANK] => 4
            [ROOMNAME] => Банк, Главная площадь, Староград
            [ONLINE] => 1
            [ALIGN] => Воин;good.gif
        )

и.т.д.

   
 
 автор: kobra   (31.08.2007 в 10:21)   письмо автору
 
   для: mihdan   (28.08.2007 в 17:55)
 

Можна ли кому нибудь скинуть на мейл файлы с кодом, а то здесь не получиться ибо использую очень много функций?

   
Rambler's Top100
вверх

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