<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum CakePHP.org.pl - Zapis polskich znaków do bazy]]></title>
	<link rel="self" href="http://forum.cakephp.org.pl/feed/atom/topic/80/"/>
	<updated>2009-06-27T17:50:32Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.cakephp.org.pl/topic/80/zapis-polskich-znakow-do-bazy/</id>
		<entry>
			<title type="html"><![CDATA[Odp: Zapis polskich znaków do bazy]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/360/#p360"/>
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Cookie]]></name>
				<uri>http://forum.cakephp.org.pl/user/214/</uri>
			</author>
			<updated>2009-06-27T17:50:32Z</updated>
			<id>http://forum.cakephp.org.pl/post/360/#p360</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Zapis polskich znaków do bazy]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/357/#p357"/>
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[carlin]]></name>
				<uri>http://forum.cakephp.org.pl/user/170/</uri>
			</author>
			<updated>2009-06-27T16:01:57Z</updated>
			<id>http://forum.cakephp.org.pl/post/357/#p357</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Zapis polskich znaków do bazy]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/356/#p356"/>
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Cookie]]></name>
				<uri>http://forum.cakephp.org.pl/user/214/</uri>
			</author>
			<updated>2009-06-27T15:44:34Z</updated>
			<id>http://forum.cakephp.org.pl/post/356/#p356</id>
		</entry>
</feed>
