Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
14.11.2012, 18:31 | #1 |
Guest
Сообщений: n/a
|
Кодировка - появляются вопросы после манипуляции со строками
Добрый день.
По умолчанию везде стоит (и на 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'); |