|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
kaa |
|
||||||||
Опытный Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: -1 Всего: 2 |
Проблема такая: один и тот же скрипт при чтении из одной БД выдаёт на сайт разную кодировку!
Я не пойму в чем дело! Вот функция из скрипта которая работает с темплетом: f
Всё хорошо - клиенту приходит всё в кодировке cp1251, при работе с бд, после подключения к ней, установил всё:
Но есть и другая функция, она формирует страницу "налету":
Она темплетов не использует, так вот она упорно возвращает всё в UTF-8! Приходится применять
Отчего такая разница? как я понимаю дело тут не в БД. Кто нибудь с таким сталкивался? Кстати, в БД информация записывается тоже одним и тем же скриптом, следовательно первая функция и вторая имеют в БД данные записанные одной кодировкой. Может всё из-за того что темплеты не используются во второй? |
||||||||
|
|||||||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
kaa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: -1 Всего: 2 |
Mal Hack, Так она и стоит после выбора:
|
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Значит проверяй структуру таблиц, у которых кодировка тоже может устанавливаться.
|
|||
|
||||
kaa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: -1 Всего: 2 |
Mal Hack, Проверял - у всех cp1251 стоит
А почему так:
не пишут? |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Учи матчасть... Данные ты потом как выбирать будешь, если надо?
|
|||
|
||||
kaa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: -1 Всего: 2 |
Mal Hack, Так я так проверяю только запросы не возвращающие данных DELETE там, INSERT...
|
|||
|
||||
kaa |
|
||||
Опытный Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: -1 Всего: 2 |
Я тут ща выскажу мысль которая меня осенила толькочто...
PHP-ядро работает "в кодировке" по умолчанию iso-8859-1 и вываливает соответственно результаты своей работы в iso-8859-1, а когда он работает с темплетами он автоматически выдаёт содержимое темплета в кодировке темплета, а не в своей по умолчанию. Поэтому все страницы создающиеся "внутри" интерпретатора, без использования темплета, вываливаются пользователю в iso-8859-1. Поправьте меня пожалуйста если я ошибаюсь. Только вот что меня озадачивает:
Выдержка из php.ini так сказать... Так вот когда я перед выводом ставлю
Всёравно в UTF-8 продолжает валить |
||||
|
|||||
Mal Hack |
|
||||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А зачем?
Внимательно почитай на форуме все темы про кодировку... Где как и какая задается. |
||||
|
|||||
kaa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: -1 Всего: 2 |
||||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Если предусмотреть проверку данных, чтобы запрос не был некорректным, то в принципе это можно опустить. Как правило, вероятность ошибок в таких запросах, при условии соблюдения того, что я сказал выше - слишком мала...
Естественно, все зависит от задачи, и порой это делать надо, но не так, как ты, хотя можно и так, но все равно это не совсем корректно, а последующим селектом. Другой вариант - транзакции. |
|||
|
||||
kaa |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: -1 Всего: 2 |
Тут согласен, больше помогает на этапе напсания/отладки когда от клиентских скриптов нечисть прёт... Ну. это лирика... Пропахал весь разде "PHP для начинающих", везде советуют
Я уже файл создал dir.conf (у меня вместо .htaccess), прописал там
всёравно прут крякозяблы.... Ну и чего теперь делать? нет я конечно могу просто iconv-ом перекинуть всё в cp1251, но этоже невыход косяк просто так оставлять.... Меня терепрь волнует другое, почему нет никакой реакциина кодировку выставляемую в заголовке? |
||||||
|
|||||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
Каролина |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2006 Репутация: 1 Всего: 1 |
После места в скрипте где идёт подключение к базе вставьте вот это:
|
|||
|
||||
kaa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: -1 Всего: 2 |
Каролина, Неа, всё тоже самое
У меня там SET NAMES стоит - обычно тоже помогало... Добавлено @ 00:14 А это как? Точнее что такое РМА? Вот весь код:
Это сообщение отредактировал(а) kaa - 10.1.2007, 00:31 |
|||
|
||||
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |