Как видно - по назначению данной Addon функции - она выполняет тяжкое действие... а именно избавляет от чужеродных элементов *мутированной кириллицы*, которая - зачастую принимает вид отображения - ????????????? ??? ??? ???? ?????? ??? ??? ??????????? ??? ??............
Лечить то функция лечит и справляется с задачей, но сама функция не *мила*... по причине лишних и неоправданных обращений к mysqli_query.
На старте запуска форума - функция делает 5 лишних обращений к ДБ.
Эти обращения конечно не идут в общий ($this->query_count++) и не учитываются в суммарно выдаваемый счетчик запросов ДБ и в листинг Debug... посему до этого я их не замечал...
Для себя я данную функцию *погасил*, ибо траблов с кириллицей у меня нет... но решение внутри функции мне не нравится...
Если у меня альтернативные предложения? - нет. пока нет.
Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.
Вопрос
never-never
Недавно просматривая структуру движка IPB 2.3 (by IBR) - я невольно наткнулся на одну функцию для mysql ... sql_set_collation_and_cp()
Я так полагаю, что данная функция входит дишь в РУ релиз как собственная модификация от IBR, ибо в официальном IPB релизе - данной функции нет.
function sql_set_collation_and_cp() { $this->sql_get_version(); if ( $this->mysql_version >= 40101 ) { $res = mysqli_query( $this->connection_id, "SHOW CHARSET LIKE '" . $this->obj['mysql_codepage'] . "'"); $charset = mysqli_fetch_row($res); mysqli_query( $this->connection_id, "SET NAMES " . $this->obj['mysql_codepage'] ); mysqli_query( $this->connection_id, "SET CHARACTER SET " . $this->obj['mysql_codepage'] ); mysqli_query( $this->connection_id, "SET character_set_connection = " . $this->obj['mysql_codepage'] ); mysqli_query( $this->connection_id, "SET collation_connection = " . $charset[2] ); } return TRUE; }Как видно - по назначению данной Addon функции - она выполняет тяжкое действие... а именно избавляет от чужеродных элементов *мутированной кириллицы*, которая - зачастую принимает вид отображения - ????????????? ??? ??? ???? ?????? ??? ??? ??????????? ??? ??............
Лечить то функция лечит и справляется с задачей, но сама функция не *мила*... по причине лишних и неоправданных обращений к mysqli_query.
На старте запуска форума - функция делает 5 лишних обращений к ДБ.
Эти обращения конечно не идут в общий ($this->query_count++) и не учитываются в суммарно выдаваемый счетчик запросов ДБ и в листинг Debug... посему до этого я их не замечал...
Для себя я данную функцию *погасил*, ибо траблов с кириллицей у меня нет... но решение внутри функции мне не нравится...
Если у меня альтернативные предложения? - нет. пока нет.
Если есть альтернативные идеи у Вас. Велкам.
Ссылка на комментарий
Поделиться на других сайтах
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.