DEV.BG Форуми
Май 20, 2012, 16:55:19 *
Добре дошъл/дошла, Гост. Моля, въведи своето потребителско име или се регистрирай.

Влез с потребителско име, парола и продължителност на сесията
 
   Начало   Помощ Търси Вход Регистрирай се  
Страници: [1]   Надолу
  Изпечатай  
Автор Тема: Проблем с кирилица...  (Прочетена 537 пъти)
0 Членове и 1 Гост преглежда(т) тази тема.
Botman
Нови
*

Приноси: +0/-0
Неактивен Неактивен

Публикации: 23


Профил Ел. поща
« -: Декември 29, 2009, 01:34:01 »

Здравейте! Имам странен за мен проблем в следния код:

Код:
if($_POST['submit'] == 1)
{
$errors = array();
$title = trim($_POST['title']);
$content = trim($_POST['content']);

if(strlen($title) <= 5)
{
$errors['title'] = 'Невалидно заглавие! Заглавието трябва да е над 5 символа.';
}

Когато за title съм въвел "ASDF" излиза че е грешно, но когато въведа "АСДФ" минава проверката и продължава... Дори като напиша "АСД" също минава... Само на "А"(кир.) не минава?! Какъв може да е проблема?

П.С. Опрвих се. Използвах функжията mb_strlen() вместо strlen(). Проблема идваше от там, че strlen не разпознава MultiByte.
« Последна редакция: Декември 30, 2009, 04:05:20 от Botman » Активен
Kai
Нови
*

Приноси: +0/-0
Неактивен Неактивен

Публикации: 12


Профил Ел. поща
« Отговор #1 -: Декември 31, 2009, 17:06:58 »

И аз имам проблем с кирилицата... Когато поствам нещо през приложението ми на кирилица, в БД се записва една поредица от... странни неща.
Например:
Здравей е записано като "&ETH;&middot;&ETH;&acute;&Ntilde;Ђ&ETH;&deg;&ETH;&sup2;&ETH;&micro;&ETH;&sup1;"
>.>
Използвам utf8. Какъв може да е проблемът и дали ще се оправи при повикването на дадения пост (т.е. дали ще се декодира обратно към кирилица?)?
Активен
Botman
Нови
*

Приноси: +0/-0
Неактивен Неактивен

Публикации: 23


Профил Ел. поща
« Отговор #2 -: Декември 31, 2009, 18:13:43 »

Има много разновидности на UTF-8. За да е всичко наред трябва да използваш utf8_general_ci. Използваш ли функции от сорта на htmlentities? Покажи кода с който вкарваш в ДБ. И пак виж дали е точно utf8_general_ci енкодинга на таблицата и на колоните!
Активен
Kai
Нови
*

Приноси: +0/-0
Неактивен Неактивен

Публикации: 12


Профил Ел. поща
« Отговор #3 -: Декември 31, 2009, 22:14:59 »

utf8_general_ci е навсякъде в бд и таблицата.  И да ползвам htmlentities...

Код:
....
if (isset($_REQUEST['statuses'])) {
$statuses = htmlentities (  $_REQUEST['statuses'], ENT_QUOTES ) ;
} else {
$statuses = "";
}

if ( $statuses == "" ) {
$facebook->redirect("http://$canvas_page/error.php?code=2");
}

....

$insertSQL = "INSERT INTO Statuses SET statuses='$statuses', uid='$user_id', date='DATETIME';";

...


P.S.
Весело посрещане на Нова година! :]
Активен
Страници: [1]   Нагоре
  Изпечатай  
 
Отиди на:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!