ďťż
 
MySQL i UTF8 (php) ďťż
 
MySQL i UTF8 (php)
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

MySQL i UTF8 (php)



Zebulon - 12-11-2006 01:31
MySQL i UTF8 (php)
  witam

mam problem z otrzymaniem z bazy wynikow w porzadanej kolejnosci

baza mysql 4 (lub wyzsza) odwoluje sie do niej przez php

baza jest ustawiona jako utf8
dane do bazy sa wpisywane z formularza ktory ma ustawione kodowanie utf8

wysylam proste zapytanie w stylu:
select * from lista order by 'nazwisko'
(taki sam efekt otrzymuje gdy to samo zapytanie wysylam przez phpmyadmin
wiec to nie wina kodu w php)

wyslwietlona mam liste nazwisk , niestety te zaczynajace sie na Ż nie sa
na koncu listy tylko mniej wiecej po srodku :/

czy ktos moze cos doradzic jak uzyskac poprawnie posortowana liste ?

z gory dziekuje za podpowiedzi

pozdrawiam





Artur Muszynski - 12-11-2006 01:31

  > czy ktos moze cos doradzic jak uzyskac poprawnie posortowana liste ?

archiwum




Wojtek pBT - 12-11-2006 01:32

  Dnia 27-09-2006 o 22:56:27 Zebulon <braki@teraz.pl> napisał(a):

> witam
>
>
> mam problem z otrzymaniem z bazy wynikow w porzadanej kolejnosci
>
> baza mysql 4 (lub wyzsza) odwoluje sie do niej przez php
>
pomedzy 4, a 4.1 była spora róznica

> wyslwietlona mam liste nazwisk , niestety te zaczynajace sie na Ż nie sa
> na koncu listy tylko mniej wiecej po srodku :/

A bazę masz przygotowaną do przechowywania danych w UTF-8?

pBT

--
histeria.pl -- zbiór opowiadań s&f i fantasy
bato3.bloog.pl - kawałki kodów, mój blog
http://www.wykop.pl/ - znalezione w necie




Zebulon - 12-11-2006 01:32

 
> pomedzy 4, a 4.1 była spora róznica
>
> > wyslwietlona mam liste nazwisk , niestety te zaczynajace sie na Ż niesa
> > na koncu listy tylko mniej wiecej po srodku :/

4.1.19

> A bazę masz przygotowaną do przechowywania danych w UTF-8?

tak dane w bazie sa jako utf8 , wszystko i wszedzie (z tego co widac w
phpmyadmin) jest ustawione na utf8:

CREATE DATABASE `nazwa` DEFAULT CHARACTER SET utf8 COLLATE utf8
_polish_ci;

CREATE TABLE `nazwatab` (
`id` int(11) NOT NULL auto_increment,
`imie` varchar(35) collate utf8_polish_ci NOT NULL default '',
`nazwisko` varchar(35) collate utf8_polish_ci NOT NULL default '',
`oper` int(11) NOT NULL default '0',
`email` varchar(35) collate utf8_polish_ci NOT NULL default '',
`ps` varchar(35) collate utf8_polish_ci NOT NULL default '',
`stan` tinyint(4) NOT NULL default '0',
`add` varchar(20) collate utf8_polish_ci NOT NULL default '',
`send` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci
AUTO_INCREMENT=239 ;

tak wyglada (fragment) podglad z phpmyadmin

ze strony pakuje do bazy dane na pewno jako utf8 , bo potem na stronie z
kodowaniem utf8 sa one poprawnie wyswietlane (wszystkie znaczki)
niestety sortowanie dziala blednie (pl literki laduja po srodku alfabetu

przekopalem archiwum i po wyprobowaniu praktycznie wszystkiego co udalo
mi sie wyszukac , nadal jestem w punkcie wyjscia :/





Rafal - 13-11-2006 00:15

  ja sortuje dane z polskimi literami np. tak:

SELECT * from tabela WHERE jakis_warunek ORDER BY nazwisko COLLATE
utf8_polish_ci,imie COLLATE utf8_polish_ci;

i mi dzial OK
dzialam na Linux FC4, MySQL 5.0.24

pozdrawiam




Zebulon - 13-11-2006 00:16

  >
> SELECT * from tabela WHERE jakis_warunek ORDER BY nazwisko COLLATE
> utf8_polish_ci,imie COLLATE utf8_polish_ci;
>
> i mi dzial OK
> dzialam na Linux FC4, MySQL 5.0.24

SELECT * FROM lista
WHERE 1
ORDER BY nazwisko
COLLATE utf8_polish_ci

i niestety nie jest ok :(

nazwiska na litere "Ż" są nadal po środku listy




Paweł Matejski - 13-11-2006 00:16

  Zebulon wrote:
>> SELECT * from tabela WHERE jakis_warunek ORDER BY nazwisko COLLATE
>> utf8_polish_ci,imie COLLATE utf8_polish_ci;
>>
>> i mi dzial OK
>> dzialam na Linux FC4, MySQL 5.0.24
>
> SELECT * FROM lista
> WHERE 1
> ORDER BY nazwisko
> COLLATE utf8_polish_ci
>
> i niestety nie jest ok :(
>
> nazwiska na litere "Ż" są nadal po środku listy

I jak myślisz, ktoś spiepszył sortowanie, czy ty kodowanie literek?

--
P.M.




Zebulon - 13-11-2006 00:16

 
> > nazwiska na litere "Ż" są nadal po środku listy
>
> I jak myślisz, ktoś spiepszył sortowanie, czy ty kodowanie literek?

fiu fiu :)

na tak jasno postawione pytanie wypadaloby odpowiedziec ze ja kodowanie
tyle tylko ze wszystkie znaki leca do bazy ze strony ktora ma na pewno
kodowanie utf8 :/
ehh obadam jeszcze raz
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= [mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= [mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?= [MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?= [MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?= Gdzie MySQL 4.1, a gdzie 5.0? [MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?= [MS SQL] "set names" (mySQL) w MS SQL [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • numervin.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com