|
|
|
| Здравствуйте.
Купил домен, вытащил сайт с архива. Как оказалось там была проблема с кодировкой: http://vazona.com/page7134.html . Подскажите пожалуйста как вернуть в нормальный вид основной текст этой страницы. Текст шаблона отображается нормально. Важно вернуть только основной текст.
Notepad++ результата не дал. | |
|
|
|
|
|
|
|
для: volodumir
(27.05.2012 в 11:47)
| | Ответ нужно искать не в этом разделе, так как скорее всего вы не указываете кодировку данных получаемых из базы.
mysql_query("SET NAMES 'UTF8'"); после подключения. | |
|
|
|
|
|
|
|
для: confirm
(27.05.2012 в 12:10)
| | Это простой html файл, я его восстановил из архива. Его реально спасти? | |
|
|
|
|
|
|
|
для: volodumir
(27.05.2012 в 12:27)
| | Один файл всего? | |
|
|
|
|
|
|
|
для: confirm
(27.05.2012 в 13:14)
| | У меня весь сайт из таких файликов, там простой статистический сайт. Такую страницу реально вернуть к жизни? | |
|
|
|
|
|
|
|
для: volodumir
(27.05.2012 в 13:30)
| | Реально, только хотелось бы понять на какой стадии вы их корежите. Прикрепите один такой файл сюда как архивный, но не после своего редактора, а чисто исходный. | |
|
|
|
|
|
|
|
|
для: volodumir
(27.05.2012 в 11:47)
| | Если файлов НЕ ОЧЕНЬ МНОГО, то можно вручную:
1. Скачайте "Штирлиц" - http://dontreg.ru/content/shtirlits-4-skachat-programmu-dlya-avtopodbora-kodirovok
2. Установите её на своём компьютере.
3. Запустите. В "Параметры --> Свойства" установите (нажмите на) "HTML в текст"
4. Перекачайте на свой комп с сервера все интересующие вас файлы.
5. "Вид --> Пакетное перекодирование" и исправляете все файлы.
-----
Если файлов МНОГО - это надо делать на сервере средствами PHP.
Обращайтесь здесь же на соответствующий форум. | |
|
|
|
|
|
|
|
для: ЯСА
(27.05.2012 в 14:04)
| | Попробую, спасибо. | |
|
|
|
|
|
|
|
для: volodumir
(27.05.2012 в 14:33)
| | Не получается ничего :) | |
|
|
|
|
|
|
|
для: volodumir
(27.05.2012 в 16:32)
| | Меня спас сервис http://www.artlebedev.ru/tools/decoder/.
Спасибо всем тему можно закрывать. | |
|
|
|
|
|
|
|
для: volodumir
(27.05.2012 в 16:56)
| | Знаем такой сервис, но...
Если вы опять сохранили конвертируемое с таким мусором какой у вас в исходниках, то вполне возможно, что вы опять встретитесь с какими либо проблемами с этими файлами. Я ниже написал о проблемах с конвертацией, а теперь о причинах их.
Известно, что функция iconv() может вроде бы на "правильную" строку выдать предупреждение и откажется работать. Так вот - ваши файлы это как раз из "вроде бы правильных".
Просмотрите их в HEX-редакторе. Что наблюдается - перед тегом <html> находится BOM-сигнатура, являющаяся меткой порядка байтов Юникода, а непосредственно перед нею включен html-код. Вот и спотыкается и html_entity_decode(), и get_html_translation_table(), и тем более iconv().
Кто такую ересь сотворил, вы, или такое вам досталось, но прежде чем использовать такой файл, нужно удалить мусор из него, а не вставляя на места, имеющие до них проблемы, сконвертированный текст.
Собственно вам и не нужно было никакой конвертации, достаточно удалить этот мусор в начале и готово. Для этого, открыть файл редактором (у меня phpDesigned, в установках типа кодировок должна быть указана windows-1252, это как раз кодировка в которою и произошла трансляция), удалить "мусор", и записать сам файл в кодировке ANSI. В результате у вас получится исходное - русская 1251. А уж потом править шапки. | |
|
|
|
|
 41.9 Кб |
|
|
для: volodumir
(27.05.2012 в 16:32)
| | Совсем ничего-ничего?
Вам как-то не повезло :-(((
А вот я как-то удачно:
1. открыл вашу ссылку http://vazona.com/page7134.html
2. нажал в браузере Ctrl+U (просмотр исходного кода)
3. в открывшемся "исходном коде" нажал Ctrl+A и Ctrl+C (выделил всё и скопировал)
4. открыл Штирлиц
5. нажал там на "новый"
6. нажал там Ctrl+V и - сразу же, ибо перекодировка происходит мгновенно - Ctrl+S (вставил из буфера и сохранил результат в текстовом файле)
Этот получившийся файл я вам и отправляю в аттаче (см. в правом верхнем углу этого сообщения). | |
|
|
|
|
|
|
|
для: ЯСА
(27.05.2012 в 16:56)
| | Вообще-то эта бяка из-за того, что не в той кодовой странице работали, и произошла трансляция в html-представления. Кто это потом скрестил с частью utf8, это неизвестным осталось, а конвертируется это просто:
<?
$string = iconv('windows-1251','utf-8',strtr($string, array_flip(get_html_translation_table(HTML_ENTITIES))));
|
Так должно быть во всяком случае. Но проверяя столкнулся с интересным - не работает у меня, так как строка возвращает неверный код символов. А Артемка именно так и конвертирует.
Интересную задачку для себя надыбал. ) | |
|
|
|