Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql][php] nie zapisuje niektóryh pl znaków, ale nie zawsze....
jimij
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.01.2008

Ostrzeżenie: (0%)
-----


mam taki problem
nie zapisuje niektórych pl znaków do bazy np m.in "ę" i "ń" zapisuje natomiast "ś" "ł" "ą", "ó" ...
ale jak dam do zapisu słowo gdzie "ę" jest za literą np "ś" czy inną zapisującą to "ę" też zapisze

czyli np słowo "aaaśęaaa" zapisze do bazy jako "aaaśęaaa"
a
czyli np słowo "aaaęśaaa" zapisze do bazy jako "aaaaaa" wycina 2 PL litery
a
czyli np słowo "aaaśaaa" zapisze do bazy jako "aaaśaaa"

o co tu chodzi?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)




plik zapisujacy ma kodowanie ISO-8859-2
pole w tabeli jest na latin2_general_ci




dodałem też:
mysql_query("SET NAMES latin2");
mysql_query("SET collation_connection = latin2_general_ci");
mysql_query("SET CHARACTER SET latin2");
mysql_query(" set character_set_connection=latin2");
mysql_query(" set character_set_client=latin2");
mysql_query(" set character_set_database=latin2");
mysql_query(" set character_set_results=latin2");
mysql_query(" set character_set_server=latin2");
mysql_query(" set collation_database=latin2_general_ci");
mysql_query(" set collation_server=latin2_general_ci");


i nie działa
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
zzeus
post
Post #2





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

Ostrzeżenie: (0%)
-----


Nie możesz się od razu przeżucić na utf8 ?
Go to the top of the page
+Quote Post
jimij
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.01.2008

Ostrzeżenie: (0%)
-----


a może ktoś odpowie spróbuje odpowiedzieć na pytanie?

wszystko działało tak jak jest przez parę lat dopóki ser administrator nie przeniósł tego na inny "lepszy" serwer :-) i nie chce mi się nic przerabiać, czy ktoś się domyśla choć trochę o co może chodzić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
-Gość-
post
Post #4





Goście







halo nie ma mocnych?
to przecież przedszkole??
Go to the top of the page
+Quote Post
nevt
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


no dobrze przedszkolaku - tylko powiedz z czego mamy ci powróżyć ... (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) nie podałeś żadnych danych ... wersja PHP, wersja MySQL, struktura tabeli, kod PHP zapisujący / odczytujący dane w bazie ... gdzieś masz błąd - to jest pewne. ja mam na imię Leszek. zgadnij ile ważę? znasz moje imię, więc zagadka na pewno jest prosta...
Go to the top of the page
+Quote Post
Pilsener
post
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


W czym zapisujesz te dane? W notatniku? I co z tego, że plik zapisujący ma ISO-8859-2, jak polskie znaki w nim zapisane to mogą być krzaczory. W phpmyadmin wyświetla i dodaje dobrze?
Go to the top of the page
+Quote Post
-Gość-
post
Post #7





Goście







proszę bardzo: (czy jeszcze coś podać?)


PHP Version 5.2.1
Configure Command
'./configure' '--with-apxs=/usr/sbin/apxs' '--enable-safe-mode' '--with-exec-dir--with-bz2' '--with-tiff-dir' '--with-gdbm' '--enable-ftp' '--with-gd=/usr/local' '--with-zlib-dir=/usr/local/' '--with-jpeg-dir=/usr/local/php-4.3.10/jpeg-6b/' '--with-png-dir=/usr/local/php-4.3.10/libpng-1.2.6-config/' '--with-gettext' '--with-curl' '--with-java' '--with-mysql' '--with-config-file-path=/etc/apache/' '--enable-mbstring=all' '--with-pdo-mysql'

Configuration
PHP Core
default_charset iso-8859-2 iso-8859-2

apache
Apache Version Apache/1.3.33 (Unix) PHP/5.2.1 mod_throttle/3.1.2
Loaded Modules mod_php5, mod_security, mod_throttle, mod_setenvif, mod_so, mod_unique_id, mod_log_forensic, mod_usertrack, mod_headers, mod_expires, mod_digest, mod_auth_dbm, mod_auth_anon, mod_auth, mod_access, mod_rewrite, mod_alias, mod_speling, mod_actions, mod_imap, mod_asis, mod_dir, mod_autoindex, mod_include, mod_info, mod_status, mod_negotiation, mod_mime, mod_mime_magic, mod_log_config, mod_define, mod_vhost_alias, http_core

Apache Environment
HTTP_ACCEPT_CHARSET ISO-8859-2,utf-8;q=0.7,*;q=0.7

HTTP Headers Information
Accept-Charset ISO-8859-2,utf-8;q=0.7,*;q=0.7

HTTP Response Headers
Content-Type text/html; charset=iso-8859-2

mysql
Client API version 4.0.20



polecenie zapisujące np takie:
$query="UPDATE tbl_kat SET Nazwa='$_POST[Nazwa]' WHERE Id LIKE '$_POST[id]'";
$mysql_result=mysql_query($query);


a widać wynik/brak wyniku zapisu w phpadminie np, czy też zwykły select w tym samym pliku


problem pojawił się na wszystkich stronach przeniesionych na nowy serwer,
w każdej tabeli, w każdym miejscu gdzie jest insert czy update, obojętnie
wszystko działało na poprzednim serwerze
Go to the top of the page
+Quote Post
--jimij--
post
Post #8





Goście







Cytat(Pilsener @ 2.04.2008, 08:43:14 ) *
W czym zapisujesz te dane? W notatniku? I co z tego, że plik zapisujący ma ISO-8859-2, jak polskie znaki w nim zapisane to mogą być krzaczory. W phpmyadmin wyświetla i dodaje dobrze?


chyba się nie rozumiemy?

dane zapisuję do bazy formularzem ze strony www
jak wpiszę w inputa aaaśęaaa to zapisze mi w mysqlu ok - aaaśęaaa
a jak wpiszę w inputa aaaęśaaa to nie zapisze ok tylko aaaaaa

jakby litera "ę" mu się nie podoba, zamiast "ś" wpisując większość innych pl liter efekt jest ten sam, jak "ę" jest poprzedza inne polskie znaki w słowie to do bazy nie zapisze się żaden pl znak, a jak przed "ę" w słowie wstawię jakiś inny pl znak to wszystko zapisze jak należy
Go to the top of the page
+Quote Post
nevt
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


jesteś pewien, że problem jest w bazie, a nie z przesyłaniem danych z formularza? zrób test:
  1. <?php
  2. $query="UPDATE tbl_kat SET Nazwa='$_POST[Nazwa]' WHERE Id LIKE '$_POST[id]'";
  3. echo $query;
  4. ?>

i upewnij się, że w zapytaniu jest wszystko ok... poza tym składnia tego UPDATE jest kiepska, sprawdź:
  1. <?php
  2. $query="UPDATE tbl_kat SET Nazwa='".$_POST['Nazwa']."' WHERE Id LIKE '".$_POST['id']."';";
  3. ?>
Go to the top of the page
+Quote Post
-Gość-
post
Post #10





Goście







zgadza się nie przekazuje, ale dlaczego tak (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)


dla wpisanego w input aaaśęaaa echo $query; daje:
UPDATE tbl_kat SET Nazwa='aaaśęaaa' WHERE id LIKE '15';
a
dla wpisanego w input aaaęśaaa echo $query; daje:
UPDATE tbl_kat SET Nazwa='aaaaaa' WHERE id LIKE '15';
Go to the top of the page
+Quote Post
--jimij--
post
Post #11





Goście







dopisałem do elementu FORM:

enctype="multipart/form-data"

i teraz działa! obojętnie czy "ęś" czy "śę"



ale kto mi wytłumaczy dlaczego tak?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
cuda jakieś(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:57