Форум программистов, компьютерный форум, киберфорум
Наши страницы
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 43, средняя оценка - 4.60
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
#1

Apache кодировка - Apache, htaccess

14.04.2013, 16:47. Просмотров 6235. Ответов 68
Метки нет (Все метки)

Возможна ли в Апаче изменить кодировку при создания новых файлов?
Например я создаю с помощью скрипта php файл а он кодируется в UTF-8 а то у меня файлы создаются в ANSI кодировке что не есть хорошо.
Возможно есть какие нибудь директивы отвечающие за кодировку при создании нового файла?

Нашел вот эти директивы:
CharsetDefault utf-8
CharsetSourceEnc utf-8

Но они не работают на моем Апаче 2.2

Может кто нибудь знает как это сделать?
http://www.cyberforum.ru/apache/thread338496.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 16:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Apache кодировка (Apache, htaccess):

Кодировка возвращаемая Apache
Всем привет, кто знает о такой штуке: соединился через Телнет со своим...

Кодировка от apache к браузеру
Привет. Проконсультируйте пожалуйста знающие. К примеру я имею 2 сайта: 1....

Apache не запускается после того когда прикрутил php к apache
Apache не запускается после того когда прикрутил php к apache Я установил...

Apache и Apache Tomcat на одном компе
Установил оба. По 127.0.0.1 все время захожу только в Apache, а как зайти в...

Apache
По случайной ошибке была удалена корневая папка Apache. Хотели поставить новый...

68
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
14.04.2013, 16:49 #2
А в чем связь между созданием файлов и апачом? Вы создаете их через апач что-ли?
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
14.04.2013, 17:03  [ТС] #3
Ну раз вот эти директории раньше были, может и сейчас что то есть.
А php тоже не может менять кодировку самих файлов а что то должно за это отвечать согласитесь?)
Вот я и пытаюсь это что то найти)
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
14.04.2013, 17:05 #4
за это должен отвечать разработчик. А поменять можно в текстовом редакторе

Добавлено через 44 секунды
Код
AddDefaultCharset UTF-8
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
14.04.2013, 17:10  [ТС] #5
Цитата Сообщение от KOPOJI Посмотреть сообщение
за это должен отвечать разработчик. А поменять можно в текстовом редакторе

Добавлено через 44 секунды
Код
AddDefaultCharset UTF-8
Пробовал и так и сяк не хочет запускать эти директивы, сразу ошибку выдает
Глянул конф. файл там вообще нет этих директив, может сейчас они как то по другому называются или их сомому можно как то прописать?
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
14.04.2013, 17:11 #6
Цитата Сообщение от Zelenuy Посмотреть сообщение
не хочет запускать эти директивы, сразу ошибку выдает
какую еще ошибку?

Добавлено через 16 секунд
вы куда их добавляете-то?
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
14.04.2013, 17:58  [ТС] #7
Сайт перестает работать вот и вся ошибка, перебрасывает на страницу где написано что допущена ошибка .htaccess
А вот сам .htaccess:
Код
CharsetDefault utf-8
CharsetSourceEnc utf-8
Больше не чего там нет, а если пропишу другие директории то они работают а именно эти не хотят

Вот скрипт посылает запрос создать новый пустой файл, а куда он посылает его и кто решает в какой кодировки будет этот файл?! не понятно я грешу на Апачь больше по логике не кому)

Добавлено через 20 минут
Вот какую инфу нашел:
Apache кодировка

Добавлено через 6 минут
Товарищи разработчики! кто с Apache дружит, подскажите почему эти директивы не работают на версии 2.2?
Может это как-то нужно по другому прописать?
0
Илья Федин
Бог живет в /root
884 / 350 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
18.04.2013, 17:11 #8
Zelenuy, Вы неправильно значит написали код PHP отвечающий за создание файлов! А эти 2 директивы отвечают за перекодировку файлов когда контент отдаётся клиенту, ошибка из-за того что у вас нету mod_charset
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
24.04.2013, 19:14  [ТС] #9
Да я тут у местных веб мастеров поспрашивал, и понял одно пхп бардачный язык, и тут он постоянно что-то пытается предугадать сам и не всегда это у него выходит, и особенно это отражается в кодировке, тут по сути не чего не отвечает за нее, пхп на автомате пытается угадать ее как это делают браузеры так что костылей еще будет море как мне объяснили, и как все говорят пиши на юникоде и не каких проблем не будет, все это брехня, даже с юникодом полный пред получается, функции которые по документации могут создавать тока юникоде на реале гонят ANSI без юникода и на выходе получаешь китайско-японскую графику)
0
Илья Федин
Бог живет в /root
884 / 350 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
24.04.2013, 19:19 #10
Zelenuy, Так напишите:
Код
CharsetDefault utf-8
CharsetSourceEnc cp1251
И в браузере будет ОК
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
24.04.2013, 19:38  [ТС] #11
Да дело в том что браузер как и положено скушает все это нормально, так-как сам то текст остался в утф а тока пхп посчитало что файл под этот текст нужно создать типа в ср1251) то есть если я открою файл то не черта не пойму но программы это съедят без проблем так как на сам файл им по фиг главное текст, просто проблема в том что если я захочу чето поправить то просто не смогу понять где и чего)
0
Илья Федин
Бог живет в /root
884 / 350 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
24.04.2013, 19:40 #12
Zelenuy, А скрипт создающий этот файл ф какой кодировке? Через какую функцию файл создаёте?
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
24.04.2013, 20:00  [ТС] #13
Да кодировка у меня везде одна это утф, другую использовать просто не вариант так как я работаю с серверами, а там тока юникод идет так как все основано на ХМЛе куда не сунься)
Ну например возьми Дом на пхп с HTML кодировку определяет не верно хотя сам текст гонит в утф, но тут я нашел обходной путь пишу сам файл совсем другой функцией, но вот взять SQLite3 она работает как я понял тока с утф но пхп думает что это просто ANSI и получаю файл БД просто не читабельным )
0
Илья Федин
Бог живет в /root
884 / 350 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
24.04.2013, 20:03 #14
Zelenuy, Созданный файл должен быть в той же кодировке что и тот. Проверьте кодировку. Если скрипт выложите - сам попробую.
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
24.04.2013, 20:12  [ТС] #15
Да могу конечно дать, просто эта тема на десятках форумах и не где мне так не кто и не смог ответить в плане кодировки файлов, все говорят одно каждый раз просто перегоняй текст из одной кодировки в другую но это согласись не вариант тем более в базе данных, слишком ресурса емкая работа получается
0
Илья Федин
Бог живет в /root
884 / 350 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
24.04.2013, 20:20 #16
Zelenuy, Я нашёл 100% вариант:
PHP
1
2
3
4
$file = fopen('file.txt', 'a');
$content = iconv('cp1251', 'utf-8', 'Данные');
fputs($file, $content);
fclose($file);
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
24.04.2013, 20:39  [ТС] #17
Я знаю способ проще решения этой задачи file_put_contents больше не чего не надо не каких перекодировок, это функция написана была видать не кривыми руками)
Ток в БД это не прокатит увы)

Добавлено через 7 минут
Вот смотри как твой вариант выглядит у меня:
PHP
1
2
3
4
$file = fopen('file.txt', 'a');
$content = iconv('utf-8', 'utf-8', 'Данные');<= это нормально?).. а если я так не сделаю то не чего не выдит)
fputs($file, $content);
fclose($file);
0
Илья Федин
Бог живет в /root
884 / 350 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
24.04.2013, 21:26 #18
Цитата Сообщение от Zelenuy Посмотреть сообщение
iconv('utf-8', 'utf-8', 'Данные');
Зачем два utf-8? Это неправильно!
Цитата Сообщение от Zelenuy Посмотреть сообщение
Ток в БД это не прокатит увы)
Я видел где-то директиву для my.ini которая исправляет траблу с кодировками (не работает под root)
0
Zelenuy
2 / 2 / 1
Регистрация: 14.04.2013
Сообщений: 91
24.04.2013, 22:16  [ТС] #19
В том то и дело что работая с утф надо перегонять с утф в утф иначе получишь аброкатабру ) я говорю бред какой то полное отсутсвие логики)
А вот про настройки пхп я бы послушал может и на самом деле там есть такая волшебная палочка, я знаю что там есть настройка посыла заголовка браузеру типа charset но это не то, оно саму кодировку не меняет это в основном для браузера
0
Илья Федин
Бог живет в /root
884 / 350 / 1
Регистрация: 12.08.2012
Сообщений: 4,401
Записей в блоге: 5
24.04.2013, 22:18 #20
Zelenuy, С чего вы взяли что там UTF-8? Может быть там на самом деле cp1251? Попробуйте!
0
24.04.2013, 22:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2013, 22:18
Привет! Вот еще темы с решениями:

C++ + Apache
Здравствуйте! Хотелось бы запускать cgi скрипты на С++. Искал в интернете, но...

Apache 2.2
Установил apache, php и mysql в одну папку &quot;apache&quot; на жёстком диске С. Там же...

Apache 2.4.3
Ребят, подскажите, пожалуйста, каким образом с офиц. сайта выйти на...

apache логирование
Здравствуйте. Апач пишет логи в access.log вот такого вида (никого не удивил):...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru