1 (изменено: marvin455, 2010-11-30 03:34:25)

Тема: Кодировка, кириллица в составе url. Запрос к бд.

Доброго дня!(точнее ночи, а кому то и утра smile )

Прошу помочь разобраться с проблемой, голову себе сломал уже. Суть:

В составе шаблона CMS присутствует Flash объект, задача объекта передавать переменную  в составе ссылки
("АШttp://localhost/index.php" + переменная(кириллица)+ "&ordering=&searchphrase=all&Itemid=1&option=com_search") для обращения к компоненту поиска.

В случае если Flash объект запущен локально (без внедрения на сайт, с помощью iexplorer к примеру), поиск переменной осуществляется нормально. К примеру слово "найт" в составе ссылки выглядит как "%D0%BD%D0%B0%D0%B9%D1%82".

В случае если искать то же слово, с помощью того же Flash объекта но уже внедрённого на сайт, слово "найт" приобретает вид "%ED%E0%E9%F2". И поиск не приносит результатов.

Поиск по цифрам, буквам латинского алфавита производится нормально.

Кодировка по умолчанию в CMS ut8.

Серверные переменные:

character set client    utf8
character set connection    utf8
character set database    utf8
character set filesystem    binary
character set results    utf8
character set server    utf8
character set system    utf8

collation connection    utf8_unicode_ci
(Глобальное значение)    utf8_general_ci
collation database    utf8_general_ci
collation server                  utf8_general_ci


Заранее спасибо за ответы!

PS: Забыл добавить, поменял все серверные переменные на utf8, а phpinfo в строке HTTP_ACCEPT_CHARSET показывает iso-8859-1, utf-8, utf-16, *;q=0.1. Я так  понял что каким то образом "пробралась"  latin1.

2

Re: Кодировка, кириллица в составе url. Запрос к бд.

Попробуйте в корне сайта добавить .htaccess со строкой:

PHP_VALUE default_charset utf-8

Но как я понял, url формируется во Флэше, и значит кодировать надо там. В JavaScript для этого есть функция encodeURIComponent(), а вот на счет Флеша не знаю.