Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сохранение с определённой кодировкой
Форумы портала PHP.SU » » Вопросы новичков » Сохранение с определённой кодировкой

Страниц (1): [1]
 

1. antonkw - 18 Сентября, 2011 - 16:47:40 - перейти к сообщению
Имеется скрипт
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $pass = "leomudak"; //твой пароль
  4.  
  5.  
  6.  
  7. if(get_magic_quotes_gpc()){ //тут избавление от говна в переменных. старая добрая традиция php добавлять говно. в php 6 обещали избавиться
  8.  
  9.         foreach($_REQUEST as $key=>$value){
  10.  
  11.                 $_REQUEST[$key] = stripslashes($value);
  12.  
  13.         }      
  14.  
  15. }
  16.  
  17. function remove_style_shit(&$from){
  18.         while(strpos($from, "<style")!==false){
  19.                 $pos =  strpos($from, "<style");
  20.                 $pos2 = strpos($from, "</style>");
  21.                 if($pos2 === false) break; else $from = substr($from, 0, $pos).substr($from, $pos2+8);
  22.         }
  23. }
  24.  
  25. if($_REQUEST["password"]==$pass){
  26.  
  27.         $handle = fopen("./homework.html", "w");
  28.  
  29.         if($handle!==false){
  30.                                
  31.                                 remove_style_shit($_REQUEST["html"]);
  32.                                
  33.                 fwrite($handle, "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html>");
  34.  
  35.                 fwrite($handle, $_REQUEST["html"]."</html>");    
  36.  
  37.                 fclose($handle);
  38.  
  39.         }
  40.  
  41. }

Собственно, он сохраняет редактируемую html-таблицу. НО. Изначальная кодировка - UTF-8, которую отображают нормально и хром, и прога на lua, в которую эта таблица встраивается. После сохранения кодировка остаётся, но автоматически не определяется (т.е. нужно зайти в инструменты и выбрать ту же UTF-8, чтобы она нормально отображалась), прога на lua-те же кракозябры. Кто что посоветует? Сам php=не знаю
2. DeepVarvar - 18 Сентября, 2011 - 16:55:02 - перейти к сообщению
antonkw пишет:
\r\n

Это есть только в винях..
Поменять для утф-8 на \n
3. antonkw - 18 Сентября, 2011 - 17:04:04 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  fwrite($handle, "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html>");
?
Абсолютно та же фигня
(Добавление)
к слову, если сохранить в в win-1251, то не работают стили и скрипт на jQuery, благодаря которому реализуется редактируемость.
4. caballero - 18 Сентября, 2011 - 17:26:05 - перейти к сообщению
во первых убери переносы \n они там нафиг не нужны

во вторых браузеру нужно указать кодировку в заголовке файла
еще можно в .htaccess дополнительно
ну и файл сам должен быть в UTF8 само собой

 

Powered by ExBB FM 1.0 RC1