[MYSQL] Polskie znaki |
[MYSQL] Polskie znaki |
10.08.2010, 08:32:52
Post
#41
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 10.08.2010 Ostrzeżenie: (0%) |
Cytat Tak, ja bym to uniemożliwił. Jeżeli to odpowiedz na post o polskich znakach w loginie i hasle przy rejestracji to dziekuje. Usunelam post zaraz po dodaniu bo cos na temat znalazlam na innej stronie, nie zauwazylam odpowiedzi. |
|
|
24.08.2010, 18:18:29
Post
#42
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 29.08.2007 Ostrzeżenie: (0%) |
Nie chce tworzyć nowego tematu,a zapewne ktoś miał do czynienia z takim problemem. Mianowicie mam bazę zapisaną w latin2. Żeby wyświetlić dane konwertuje je do utf-8 (iconv()), ponieważ moduł do przetwarzania tych danych jest w utf-8. Ale kiedy cokolwiek zmienię w polach edycji czy to input czy textarea i prześle te dane POST'em, są już nie do odczytania. Pojawiają się symbole nieprawidłowego kodowania typu zamiast litery ł pojawia się A z kółkiem. W każdym razie kodowanie się psuje. W jaki sposób sprawić by te dane były kodowane w jakiś ze standardowo przyjętych, żeby móc z nimi cokolwiek sensownego zrobić?
|
|
|
30.11.2010, 22:03:32
Post
#43
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 30.11.2010 Ostrzeżenie: (0%) |
Modyfikuje skryp z generatora formularza. Chce by w nazwisku dostepne byly polskie znaki. Pierwszy problem to wyslwietlanie polskich zankow po wyslaniu formularz. Formularz akceptuje i przesyla je do mysql natomiast zupenie nie akceptuje "o z kreska" ani w formie "o z kreska" a ni w formie utf. W przypadku wpisania "o z kreska" do formularza wyskakuje info, ze znak niedozwolony.
Druga sprawa to iz w bazie, polskie znaki zapisane sa unicodem, a nie forma graficzna(a z ogonkiem itp). Metoda porownania to latin2_general_ci.Prosze o info jak to zmienic. Ponizej skrypt. Probowalem mysql_query('SET NAMES latin2_general_ci'); i mysql_query('SET NAMES utf8'); ale nie wiem czy w dobrym miejscu wstawiam... <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> <?php include("global.inc.php"); $errors=0; $error="Formularz zostal niepoprawnie wypelniony. Sporboj ponownie. Ponzej znajduja sie popelnione bledy<ul>"; pt_register('POST','Email'); pt_register('POST','haslo'); pt_register('POST','nazwisko'); if($Email=="" || $haslo=="" ){ $errors=1; $error.="<li>Zadne pole nie moze poozstawac bez danych. Prosze wrocic i rozpoczac od nowa."; } if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$Email)){ $error.="<li>Niepoprawna forma email"; $errors=1; } if(strlen ($haslo) <3 || strlen ($haslo)> 16) { $errors=1; $error.="<li>Haslo musi miec conajmniej 10 znakow. Nie wiecej niz 16."; } if(!eregi("^[a-zA-Z;ÓóĄąĆćĘꣳŃńŚśŹźŻż]*$",$nazwisko)){ $error.="<li>Niepoprawne znaki"; $errors=1; } if($errors==1) echo $error; else{ $where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/")); $message="Ponizsze dane zostaly zapisane na serwerze Dk service Email: ".$Email." haslo: ".$haslo." nazwisko: ".$nazwisko." Jesli chcesz zmodyfikowac dane www.google.pl"; $message = stripslashes($message); mail("testi@o2.pl","Form Submitted at your website",$message,"From: phpFormGenerator"); mail("$Email","Form Submitted at your website",$message,"From: phpFormGenerator"); $link = mysql_connect("localhost","xxxx","xxxxxx"); mysql_select_db("guingamp_cv",$link); mysql_query('SET NAMES utf8); mysql_query('SET NAMES latin2_general_ci'); $query = mysql_query("SELECT * FROM firma WHERE email = '$Email'||'$nazwisko'"); if( mysql_num_rows($query) != 0) echo 'Apikacja zostala juz wczesniej zlozona.<a href="http://www.dkservice.eu/phpformgenerator/use/firma/form1.html"><input type="button" value="cofnij" /></a> '; else { $query="insert into firma (Email,haslo,nazwisko) values ('".$Email."',sha1(md5('".$haslo."')),'".$nazwisko."')"; mysql_query($query); $make=fopen("admin/data.dat","a"); $to_put=""; $to_put .= $Email."|".$haslo."|".$nazwisko." "; fwrite($make,$to_put); ?> <h2>Dziekujemy za wypelnienie aplikacji</h2> <table width=50%> <tr><td>Email: </td><td> <?php echo $Email; ?> </td></tr> <tr><td>haslo: </td><td> <?php echo $haslo; ?> </td></tr> <tr><td>nazwisko: </td><td> <?php echo $nazwisko; ?> </td></tr> </table> <?php }} ?> |
|
|
3.12.2010, 18:05:41
Post
#44
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) |
A czemu ustawiasz najpierw utf a później latin? Jak kodujesz dane w bazie? Ustaw kolumnę z nazwiskami na utf. I jak dodajesz nazwisko to ustaw dane jako utf, tak samo chyba jak nazwisko wyciągasz. Jeżeli masz: dokument w utf8, dodajesz do bazy dane z tego dokumentu, ale przedtem ustawiasz names utf8 i jeżeli kolumna do której dodajesz dane utf8 jest w systemie kodowania utf8 I system porównania jest utf8 to musi działać. Tak samo z wyciąganiem danych. Ten post edytował ixpack 3.12.2010, 18:13:06 -------------------- Łatwo jest być odważnym za murami własnego zamku.
|
|
|
12.12.2010, 15:54:10
Post
#45
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) |
Mam zadeklarowane nagółwki header, meta w utf-8 ,pliki skonwertowane do utf8 bez bom. Cały serwer zainstalowany od nowa:
Apache 2.2 PHP 5.2.15 V6 MySQL 5.1.52 na win XP.Baza była utworzona za pomocą skryptu Kod $link=mysql_connect('localhost','root',''); więc nie ma możliwości żeby była kodowana inaczej jak w UTF-8 i nie wiem dlaczego koduje mi w latin1 po wysłaniu formularza,a w bazie są krzaki.$charset = mysql_client_encoding($link); if ( $charset != 'utf8' ) { mysql_set_charset('utf8',$link); } $sql="CREATE DATABASE IF NOT EXISTS rejestr "; mysql_query($sql) or die(mysql_error()); mysql_select_db('rejestr',$link); $sql="CREATE TABLE IF NOT EXISTS rejstr( id int(4) NOT NULL auto_increment, nick varchar(30) NOT NULL , haslox varchar(32) NOT NULL , mails varchar(70) NOT NULL , PRIMARY KEY klucz1 (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; "; mysql_query($sql) or die(mysql_error()); Czy ktoś mógłby ,polecić mi jakiś naprawde ,dobry program serwerowy z Apache ,PHP i MySQL?Już kilka razy reinstalowałem swój serwer i w rezultacie otrzymuje inne kodowanie niż zadeklarowane.Ręce opadają. |
|
|
12.12.2010, 15:59:58
Post
#46
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) |
Ale na kolumny to już kodowania nie ustawiłeś.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
12.12.2010, 16:10:39
Post
#47
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) |
Popatrzyłem w MySQL Workbench i kolumny utworzyły się w UTF8 polish_ci więc wszystko wydaje się być wporządku.
|
|
|
14.01.2011, 12:38:16
Post
#48
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 29.03.2009 Ostrzeżenie: (0%) |
Witam
Nie wiem dlaczego ale cały czas pokazują mi się krzaczki zamiast polskich znaków. Używam kodowania UTF-8; Oto jak wygląda sytuacja: -Pliki są kodowane w UTF-8 bez DOM (zwykłe utf-8 też sprawdzałem) - ustawiłem poprzez notepad ++ -Kodowanie na stronie:
-przy połączenu z bazą mam: -baza tabela i kolumny mają poustawiane kodowanie utf8_unicode_ci Dodatkowo po wpisaniu
Pokazuje mi: character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 Z tego widzę, że character_set_server ma ustawione latin1, czy to powoduję problem? Jeśli tak, czy da się to jakoś obejść bez zmiany ustawień całego serwera? Jeszcze jedno. Przy dodawaniu wartości z poziomu php nie wstawia polskich znaków. To chyba jest problem z kodowaniem serwera, ale jak to zmienić, żeby inne bazy na serwerze nie wykrzaczyły się przy okazji? Ten post edytował rulespl 14.01.2011, 13:12:26 |
|
|
14.01.2011, 13:20:11
Post
#49
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 |
Poczytaj o AddDefaultCharset w Apache.
P.S. Bez BOM, nie DOM. |
|
|
14.01.2011, 13:32:55
Post
#50
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 29.03.2009 Ostrzeżenie: (0%) |
|
|
|
14.01.2011, 14:17:49
Post
#51
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 |
Jak wygląda kodowanie tabel oraz kolumn?
|
|
|
17.01.2011, 15:10:42
Post
#52
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 29.03.2009 Ostrzeżenie: (0%) |
Jak wygląda kodowanie tabel oraz kolumn? Kodowanie bazy, tabel jak i poszczególnych kolumn jest utf8_unicode_ci Problem został rozwiązany, był banalny błąd w zapytaniu:
Brakowało apostrofu przed 'utf8' Dzięki za pomoc |
|
|
22.03.2011, 04:51:35
Post
#53
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 12.01.2011 Ostrzeżenie: (0%) |
Problem jest taki:
w bazie MySQL chciałbym umieścić teksty polskie i hiszpańskie, a na stronie wyświetlać je tak żeby były widoczne jednocześnie. -------------------- I work on my home pc and i go to any places but with a remote desktop I can still work.
|
|
|
22.03.2011, 10:17:32
Post
#54
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 |
Poczytaj o UTF.
|
|
|
--san-- |
24.03.2011, 19:41:43
Post
#55
|
Goście |
musisz wstawic jednoliwe kogodanie
przesył danych z bazy,baza,tabele,struktura,pliki php |
|
|
5.04.2011, 12:40:00
Post
#56
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) |
Pomóżcie bo wymiękłam. Kodowanie dokumentu utf-8, baza i tabele utf8_general_ci. Wstawianie i odczytywanie rekordów przwidłowo, bez krzaków.Ale zapytanie:
zwraca id dla name = n poza tym jeśli w bazie jest rekord name=ń to wpisanie rekordu z name=n jest niemożliwe bo wrzeszczy iż jest duplikat. W czym rzecz? -------------------- |
|
|
27.05.2011, 02:16:14
Post
#57
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 12.04.2011 Ostrzeżenie: (0%) |
Witam, robię wszystko tak jak piszecie ale nadal mam problem ze znakami. Z początku były znaki zapytania zamiast polskich znaków (oprócz litery "ó"). Gdy dodałem
Zamiast znaków zapytania pojawiły mi się AÂĄbÌ¿³ó. Już nie wiem co mam robić, zważając na fakt, że jak nie dodałem
to przynajmniej miałem polskie znaki w nowo napisanych postach, zaś teraz to nie mam w ogóle. Moja strona została przeniesiona z friko.pl, na proserwer.pl. |
|
|
16.06.2011, 15:29:46
Post
#58
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 3 Dołączył: 26.04.2011 Ostrzeżenie: (0%) |
Ja jako panaceum na polskie znaki używam funkcji do konwersji na encje dla polskich liter. I to mi w zupełności styka bo mam gdzieś jakie będzie ustawione kodowanie w przeglądarce, i tak mi się polskie znaki zawsze wyświetlą czy to utf czy iso.
|
|
|
16.06.2011, 15:49:08
Post
#59
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) |
Kod <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
-------------------- LS Easter egg < |
|
|
-Gość- |
4.08.2011, 00:00:07
Post
#60
|
Goście |
|
|
|
Wersja Lo-Fi | Aktualny czas: 24.09.2024 - 20:32 |