<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum CakePHP.org.pl - Zapis polskich znaków do bazy]]></title>
		<link>http://forum.cakephp.org.pl/topic/80/zapis-polskich-znakow-do-bazy/</link>
		<description><![CDATA[Najświeższe odpowiedzi w Zapis polskich znaków do bazy.]]></description>
		<lastBuildDate>Sat, 27 Jun 2009 17:50:32 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Zapis polskich znaków do bazy]]></title>
			<link>http://forum.cakephp.org.pl/post/360/#p360</link>
			<description><![CDATA[<p>Dzięki Carlin za zwrócenie mojej uwagi na wielkość liter.<br />Nie przejmowałem się tym gdyż miałem zdefiniowaną &quot;automagiczną&quot; funkcję w modelu, która odpowiednio formatowała tekst tzn -piersza litera duża, reszta małe:<br /></p><div class="codebox"><pre><code>function beforeSave(){
    $this-&gt;data[&#039;User&#039;][&#039;imie&#039;] = $this-&gt;format($this-&gt;data[&#039;User&#039;][&#039;imie&#039;]);
    $this-&gt;data[&#039;User&#039;][&#039;nazwisko&#039;] = $this-&gt;format($this-&gt;data[&#039;User&#039;][&#039;nazwisko&#039;]);
    return true;
}</code></pre></div><p>gdzie:<br /></p><div class="codebox"><pre><code>function format(&amp;$text){
    $temp = strtolower($text);
    $temp = ucfirst($temp);
    return $temp;
}</code></pre></div><p>Gdy ją wyłączyłem wszystko zaczęło działać. Wniosek dla potomnych i fanów automagiczności -&gt; Uwaga na funkcje: strtolowe i ucfirst z polskimi znakami. Lepiej poprawny zapis imion itp wymusisz przez wykorzystanie wyrażeń regularnych...</p><p>Problem rozwiązany!</p>]]></description>
			<author><![CDATA[null@example.com (Cookie)]]></author>
			<pubDate>Sat, 27 Jun 2009 17:50:32 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/post/360/#p360</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Zapis polskich znaków do bazy]]></title>
			<link>http://forum.cakephp.org.pl/post/357/#p357</link>
			<description><![CDATA[<p>Powinno działać. Upewnij się, że w pliku &#039;app/config/database.php&#039; masz ustawione:&nbsp; &#039;encoding&#039; =&gt; &#039;UTF8&#039;. <br />Przy imieniu raczej powinno być tak (pierwsza litera duża, reszta mała):</p><p>&#039;rule&#039; =&gt; array(&#039;custom&#039;, &#039;/^[A-ZŁ]{1}[a-ząćęłńóśźż]{2,15}$/i&#039;)</p><p>Pozdrawiam</p>]]></description>
			<author><![CDATA[null@example.com (carlin)]]></author>
			<pubDate>Sat, 27 Jun 2009 16:01:57 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/post/357/#p357</guid>
		</item>
		<item>
			<title><![CDATA[Zapis polskich znaków do bazy]]></title>
			<link>http://forum.cakephp.org.pl/post/356/#p356</link>
			<description><![CDATA[<p>Chodzi o zapis imion i nazwisk do bazy danych MySQL. Wszystko jest oparte o kodowanie UTF-8.<br />Jednakże Cake nie zapisuje do bazy danych niczego co posiada polski znak.<br /></p><div class="codebox"><pre><code>var $validate = array(
        &#039;imie&#039; =&gt; array(
            //&#039;rule&#039; =&gt; array(&#039;custom&#039;, &#039;/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{2,15}$/i&#039;),
            &#039;rule&#039; =&gt; array(&#039;minLength&#039;, &#039;3&#039;),
            &#039;required&#039; =&gt; &#039;true&#039;,
            &#039;allowEmpty&#039; =&gt; &#039;false&#039;,
            &#039;message&#039; =&gt; &#039;Imie musi zawierać tylko litery i od 3 do 15 znaków!&#039;
        ), itd</code></pre></div><p>Powyższe rozwiązanie zapisze wszystko do pierwszej polskiej litery - resztę wycina.<br />&#039;rule&#039; =&gt; array(&#039;custom&#039;, &#039;/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{2,15}$/i&#039;), - nie działa - nie przechodzi walidacji...</p><p>Czy da się to zrobić zapis tych znaków? Nie wyobrażałem nawet sobie że z taką pierdółką są takie problemy.</p>]]></description>
			<author><![CDATA[null@example.com (Cookie)]]></author>
			<pubDate>Sat, 27 Jun 2009 15:44:34 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/post/356/#p356</guid>
		</item>
	</channel>
</rss>

