Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: кодировка utf8 и mb_substr на локалхосте
 
 автор: vadimka   (10.12.2009 в 13:09)   письмо автору
 
 

Здравствуйте!
Если правильно понял русская кодировка utf8 "не дружит" со строковыми функциями, надо использовать регулярки или "продвинутые" функции, вроде mb_substr. Использовал последнюю, на локалхосте показывает ошибку, но работает на сервере. Как надо настроить php.ini, чтоб можно было работать на локалхосте (Денвер, php5)?

  Ответить  
 
 автор: sim5   (10.12.2009 в 13:19)   письмо автору
 
   для: vadimka   (10.12.2009 в 13:09)
 

Что значит не дружит?

  Ответить  
 
 автор: vadimka   (10.12.2009 в 14:43)   письмо автору
 
   для: sim5   (10.12.2009 в 13:19)
 

ну, если используется utf8 и русский шрифт - строковые не работают или надо использовать "особые" строковые, или регулярные.

  Ответить  
 
 автор: Лена   (10.12.2009 в 14:01)   письмо автору
 
   для: vadimka   (10.12.2009 в 13:09)
 

Надо указать кодировку в этой функции: mb_substr($str, 0, 20, "UTF-8")

  Ответить  
 
 автор: vadimka   (10.12.2009 в 14:48)   письмо автору
 
   для: Лена   (10.12.2009 в 14:01)
 

Call to undefined function mb_internal_encoding() in

mb_internal_encoding("UTF-8");
$row[con]=mb_substr($row[con],0,200,"UTF-8");

ничего не меняется

  Ответить  
 
 автор: Лена   (10.12.2009 в 15:11)   письмо автору
 
   для: vadimka   (10.12.2009 в 14:48)
 

А у вас вообще подключена библиотека для работы с многобайтными строками?
Ищите в поиске - подключить mbstring.

И в массиве $row у вас индекс в кавычки не взят.

  Ответить  
 
 автор: sim5   (10.12.2009 в 15:26)   письмо автору
 
   для: vadimka   (10.12.2009 в 14:48)
 

mb_internal_encoding - зачем?

<?
$s 
"Это СЃС‚СЂРѕРєР° РІ РєРѕРґРёСЂРѕРІРєРµ UTF-8.";
header("Content-Type: text/html; charset=UTF-8");
echo 
mb_substr($s,0,6,"utf-8");


И php_mbstring.dll должна быть подключена.

  Ответить  
 
 автор: vadimka   (10.12.2009 в 17:06)   письмо автору
 
   для: sim5   (10.12.2009 в 15:26)
 

Спасибо! скачал php_mbstring.dll и редактарнул php.ini - все тип-топ

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования