Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 14.11.2012, 18:31   #1
Ивано
Guest
 
Сообщений: n/a
Question Кодировка - появляются вопросы после манипуляции со строками

Добрый день.

По умолчанию везде стоит (и на BE/FE и на БД) установлено utf-8.
В скрипте делаю вывод из базы данных.

while ($row = accoss)
{
$row[title]
}

Имена прекрасно выводятся и все в порядке.
Но как только пытаюсь производить манипуляцию с $row[title] - к примеру вырезать первую букву - substr - появляются вопросительные знаки вместо букв?

В чем может быть мое упущение?
  Ответить с цитированием
Старый 14.11.2012, 19:23   #2
Ивано
Guest
 
Сообщений: n/a
По умолчанию

Как ни странно - проблему нашел

Вот из за этой строчки в коде <meta charset="utf-8">
Как только ее убираешь (пробовал сохранять html-документ на компьютер)- то все работает нормально...


Проблема только в том, как ее убрать?
  Ответить с цитированием
Старый 14.11.2012, 23:39   #3
Ивано
Guest
 
Сообщений: n/a
По умолчанию Как все сложно с utf-8

http://www.makannikov.ru/blog.php?id=9
http://forum.dklab.ru/viewtopic.php?p=176360
http://otvety.google.ru/otvety/threa...a1d65e0a4b18c5
http://www.typo3.ru/fileadmin/docume...zhka_UTF-8.pdf

Решение проблемы:

1. Оказывается для строк в UTF-8 БД нужно использовать специальные функции, к примеру mb_strtolower.

Решение данной проблемы самым простым является:
Создание таблиц данных для контента в typo3 лучше в кодировке cp1251_general_ci, а также соответствующие полей контента (title, bodytext и других также в данной кодировке - cp1251_general_ci).

И все - день ушел ...

Используя mb_substr - остается мусор в строках - знаки вопроса?
Какой алгоритм для решения данной проблемы можно использовать?

Последний раз редактировалось Ивано; 15.11.2012 в 00:19
  Ответить с цитированием
Старый 14.11.2012, 23:44   #4
Ивано
Guest
 
Сообщений: n/a
По умолчанию

Так понимаю - что в typo3 есть что-то специально для работы с этим вопросом: согласно данным обсуждениям - http://lists.typo3.org/pipermail/typ...ry/042394.html - но как это использовать?
  Ответить с цитированием
Старый 15.11.2012, 00:16   #5
Ивано
Guest
 
Сообщений: n/a
По умолчанию

Нашел решение данной проблемы следующим образом:

mb_internal_encoding('UTF-8');
$simbol_1 = substr( $row['title'] , 0, 4);
или
$simbol_1 = mb_substr( $row['title'] , 0, 1, 'UTF-8');
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 20:36.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория