Автор Тема: Енкодингите в php  (Прочетена 821 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

diti

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 12
Енкодингите в php
« -: 28 Октомври 2011, 14:26:22 »
В уроците на gatakka от преди 2 години за php се показва, че php има проблем с кирилицата при заявки към mysql. В момента ползвам php5.3.5 и нямам проблеми със за явките към mysql. Данните се инсъртват коректно и не се чупят при следващи заявки. Без да въвеждам mysql_query("SET NAMES utf8"); Означава ли това, че проблема с енкодингите е решен и не е необходимо повече да се използва mysql_query("SET NAMES utf8");?

kerkenez

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 2
  • -Получени: 14
  • Публикации: 1205
Re: Енкодингите в php
« Отговор #1 -: 28 Октомври 2011, 15:00:26 »
Използвай set names ;)

diti

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 12
Re: Енкодингите в php
« Отговор #2 -: 28 Октомври 2011, 15:57:40 »
Използвай set names ;)

Обещавам,   :) но все пак някой може да даде малко повече инфо, ако не е тайна разбира се  ::)..........

kimusubi

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 13
Re: Енкодингите в php
« Отговор #3 -: 04 Ноември 2011, 10:21:14 »
Здравейте, за разлика от @diti,
аз имам проблеми с кирилицата и енкодингите с последната версия на PHP & MySQL съм. Може би е важно да отбележа, че в примерчето за което говоря използвам регулярни изрази, с цел да огранича типа на входящите данни от HTML формата.
И точно тук мисля, че се появява проблема.

Ако някой може да даде пример, за това как да използваме регулярни изрази + кирилица + MySQL защото в мрежата намерих много примери, някои от тях ми вършат работа донякъде, други изобщо не.

Молбата ми е за елементарен пример за филтриране на данни с:
 preg_match();
 header('Content-type: text/html; charset=utf-8');
mysql_query('SET NAMES UTF8);
<form accept-charset="utf-8">

Но най-вече въпроса ми е добра практика ли е да се използва preg_match(); за филтриране на входящи данни на кирилица от html form и ако не кое е по-добрия вариянт?

Поздрави и със здраве.
Единствената граница, е границата на нашето въображение.

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: Енкодингите в php
« Отговор #4 -: 04 Ноември 2011, 10:32:16 »
Как си пишеш кода? Процедурно или обектно? Дай да видим малко от тоя код.  Така трудно се дава пример.

metost

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 41
  • Публикации: 764
Re: Енкодингите в php
« Отговор #5 -: 04 Ноември 2011, 10:41:10 »
Използвайте търсачката!

http://nau4i.me/forum/index.php?topic=12611.0
(рɐǝɥ ɹпoʎ uɹпʇ ʇ,uoр)

MrCroZer

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 11
  • -Получени: 17
  • Публикации: 411
Re: Енкодингите в php
« Отговор #6 -: 04 Ноември 2011, 11:32:40 »
Заявката ти за намес валидна ли е ? Като гледам и липсват някои кавички.

kimusubi

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 13
Re: Енкодингите в php
« Отговор #7 -: 04 Ноември 2011, 15:44:36 »
Това:  $pattern  = "/^[a-zA-Z\p{Cyrillic}0-9\s\-]+$/u";   свърши работа, както и другата информация, посочена в темата на линка, който даде @metost също е доста полезен.

Всичко се оправи, над преправянето на регулярния израз, както посочих по-горе.
Благодаря ви, и занапред ще ровя сериозно първо в търсачката преди да отварям тема или да питам за нещо, което вече е коментирано и е намерено решение или варианти.

Мерси на всички за споделеното.

Останете си със здраве и до скоро!
Единствената граница, е границата на нашето въображение.