|
|
|
| Здравствуйте!
кодировка текста utf-8
не работают некоторые строковые функции, например strtolower
когда была кодировка cp1251
всё решалось setlocale(LC_ALL, 'ru_RU.cp1251'); | |
|
|
|
|
|
|
|
|
для: Valick
(07.08.2009 в 19:57)
| | mb_strtolower в денвере не работает
выход нашёл str_replace | |
|
|
|
|
|
|
|
для: Дмитрий Смаль
(08.08.2009 в 19:35)
| | чтоб работал надо установить PHP 5: дополнительные модули
чтите там внимательно, там написано как что подключать.
и все прекрасно работает! | |
|
|
|
|
|
|
|
для: Valick
(07.08.2009 в 19:57)
| | блин реально запара с кодировкой utf-8, посыпалось много строковых функций (транслитерация, определение ключевиков)
нарыл в интернете что надо включить на сервере библиотеку mbstring
но подумалось что если это каждый раз надо будет с хостером разбираться чтобы он эту библиотеку сделал...
пробовал вот такую штуку
$str = iconv("UTF-8", "cp1251", "$str");
а потом после сроковых операций обратно
$str = iconv("cp1251", "UTF-8", "$str");
но чего-то оно так не получается | |
|
|
|
|
|
|
|
для: Дмитрий Смаль
(08.08.2009 в 20:17)
| | но подумалось что если это каждый раз надо будет с хостером разбираться чтобы он эту библиотеку сделал...
вряд ли, скорее всего она там уже есть) | |
|
|
|
|
|
|
|
для: Дмитрий Смаль
(08.08.2009 в 20:17)
| | мне кажется, сегодня трудно назвать хорошим хостингом, если там нет подобных пакетов.
когда все переходят на UNICODE.
сейчас есть VDS, которые дешевле некоторых хостингов. что хотите то и подключаете!
конечно, у VDS есть свои минусы (ресурсы), тут уж сами думайте!) | |
|
|
|
|
|
|
|
для: Дмитрий Смаль
(07.08.2009 в 19:52)
| | Ещё такой момент, решил в этой теме написать.
Все страницы сохранены в UTF-8
вначале страниц стоит header('Content-type: text/html; charset=UTF-8');
В база данных MySQL тоже всё в UTF-8 (сопоставление, язык, таблицы и столбцы)
после соединения с базой для подстраховки вызываю
mysql_query("SET NAMES 'UTF-8'");
mysql_query("SET CHARACTER SET 'UTF-8'");
всё это на локале (стоит денвере)
сначала заметил что две буквы "ш" и большую "И" чёто глючит
посмотрел в базу данных - а там везде кракозябры главаня
хотя с базы достает текст нормально (проблема с буквами ш и большой и, может ещё какие незнаю)
если же руками прямо в майадмине вписать поле, то на сайте будут иероглифы (выглядит как битый бинарный символ)
вот не могу понять что за херня
проверял POST данные, которые заносятся в базу - UTF-8
если прямо перед добавлением в базу сделать
$post[$key] = iconv("UTF-8", "cp1251", "$post[$key]");
то в самой базе всё нормально отображается, на сайте кракозябры
я так понял что проблема именно с базой
может кто знает как это лечить?
(поставил на локал форум пхпбб3 - он в утф - всё нормально и в базе и на сайте) | |
|
|
|
|
|
|
|
для: Дмитрий Смаль
(09.08.2009 в 15:46)
| |
SHOW CREATE DATABASE ИмяБД ;
|
SHOW CREATE TABLE ИмяТаблицы ;
|
SHOW VARIABLES LIKE 'CHAR%' ;
|
Последний - после процесса установки соединения и настройки кодировки | |
|
|
|
|
автор: ..... (10.08.2009 в 02:08) |
|
|
для: Дмитрий Смаль
(09.08.2009 в 15:46)
| | >mysql_query("SET NAMES 'UTF-8'");
должно быть 'utf8' | |
|
|
|
|
|
|
|
для: .....
(10.08.2009 в 02:08)
| | :)
вот спасибо! | |
|
|
|