Помогите решить задачу с кодировкой на PHP

123 4
Q
На сайте с 27.04.2009
Offline
6
1877

Задача: В зависимости от полученной переменной скрипт должен создать текстовый документ в заданной кодировке. Или ANSI, или UTF (без БОМ).

Например,

- по запросу ht_p://mysite.ru/index.php?id=win нужно сгенерировать файл с кодировкой ANSI

- по запросу ht_p://mysite.ru/index.php?id=utf нужно сгенерировать файл с кодировкой UTF (без БОМ)

Можно ли решить эту задачу на PHP? Или есть какие-то другие способы? Спасибо.

frantic
На сайте с 09.02.2009
Offline
27
#1
Q
На сайте с 27.04.2009
Offline
6
#2

Данной функцией можно изменить кодировку текста (windows-1251, utf-8, и т.п.). А меня интересует кодировка файла - ANSI, UTF (без БОМ). Эту кодировку имеет сам файл содержащий скрипт.

Возможно я не совсем верно поставил вопрос, и в данном случае речь не о генерации файла. Ситуация следующая: имеется страница index.php содержащая скрипт, и созданная в кодировке UTF (без БОМ). Скрипт который к ней обращается не может верно считать данные, т.к. настроен на кодировку ANSI. Как решить эту проблему?

frantic
На сайте с 09.02.2009
Offline
27
#3
quston:
Данной функцией можно изменить кодировку текста (windows-1251, utf-8, и т.п.). А меня интересует кодировка файла - ANSI, UTF (без БОМ).

ну считай файл в переменную и будет текст

[Удален]
#4
quston:
т.к. настроен на кодировку ANSI. Как решить эту проблему?

исправить этот загадочный скрипт

Q
На сайте с 27.04.2009
Offline
6
#5
bearman:
исправить этот загадочный скрипт

К сожалению к нему нет доступа. К тому же их много, обращается они извне, причем с разных ресурсов.

frantic:
ну считай файл в переменную и будет текст

А подробнее, как это можно сделать? Например, страница index.php создана в кодировке UTF (без БОМ). К ней обращается скрипт с переменной id=win (ht_p://mysite.ru/index.php?id=win)/. В результате нужно, чтобы страница index.php была преобразована кодировку ANSI. Как это сделать?

[Удален]
#6

quston, эх

если тупо влоб, без "сльной правки", то я бы предложил вариант с перехваткой буфера вывода и изменением кодировки на лету


<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "cp1251");
ob_start("ob_iconv_handler"); // start output buffering

;)

john_petrov
На сайте с 19.06.2005
Offline
103
#7

Изменение кодировки большого количества символов сильно нагружает машину.

Домены для вашего бизнеса на PremiumDomains.ru (http://PremiumDomains.ru/) | Айфоны в Питере iPhonePiter.ru (http://iPhonePiter.ru)
[Удален]
#8
john_petrov:
Изменение кодировки большого количества символов сильно нагружает машину.

ты абсолютно в этом уверен?

T.R.O.N
На сайте с 18.05.2004
Offline
314
#9
bearman:
ты абсолютно в этом уверен

=)) даже не смотря на то, что это функция реализована бинарно, жрет она памяти очень много (если она сделана как и в сях, то 6 байт на символ), да и перегонять ей по 100к как-то не есть гуд...

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
frantic
На сайте с 09.02.2009
Offline
27
#10
quston:
А подробнее, как это можно сделать? Например, страница index.php создана в кодировке UTF (без БОМ). К ней обращается скрипт с переменной id=win (ht_p://mysite.ru/index.php?id=win)/. В результате нужно, чтобы страница index.php была преобразована кодировку ANSI. Как это сделать?

эм.. вот уж не думал что ты индекс.пхп будешь кодировать :)

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий