ďťż
 
jak wymusic sortowanie mysql dla znakow kodowanych w cp1250 ďťż
 
jak wymusic sortowanie mysql dla znakow kodowanych w cp1250
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

jak wymusic sortowanie mysql dla znakow kodowanych w cp1250



sado4dnow - 18-10-2007 00:03
jak wymusic sortowanie mysql dla znakow kodowanych w cp1250
  Wyeksportowałem do bazy na serwerze providera dane (68 rekordów - 68 literek
polskiego alfabetu). Ponieważ dane eksportowane są z Accessa przez ODBC,
zapewne są w kodowaniu cp1250.
Nie chcę i nie mogę zmieniać tego kodowania.
Chcę tak przestawić bazę MySql, zeby potrafiła posortować dane w takim
kodowaniu. Ustawiłem tabelę na charset: cp1250 oraz collation na:
cp1250_general_ci.
Wysyłam zapytania ze skryptu MySql do wyświetlania posortowanych danych.
Stosuję:
mysql_query('SET NAMES cp1250;', $link_do_bazy);
mysql_query('SET collation_connection = cp1250_general_ci;', $link_do_bazy);
mysql_query('SET CHARACTER SET cp1250;', $link_do_bazy);
mysql_query('set character_set_connection=cp1250;', $link_do_bazy);
mysql_query('set character_set_client=cp1250;', $link_do_bazy);
mysql_query ('set character_set_database=cp1250;', $link_do_bazy);
mysql_query ('set character_set_results=cp1250;', $link_do_bazy);
mysql_query ('set character_set_server=cp1250;', $link_do_bazy);
mysql_query ('set collation_database=cp1250_general_ci;', $link_do_bazy);
mysql_query ('set collation_server=cp1250_general_ci;');
[...]
$zapytanie = "SELECT * FROM testy order by rekst";
[...]
Dane nie są sortowane prawidłowo. Jak wymusić dla MySql prawidłowe
sortowanie danych zakodowanych w cp1250 ??
Dodam że nie chodzi mi o wyświetlanie "krzaków", tylko kolejność rekordów.

Pozdrawiam,
Paweł.

Wyniki
a | a - 1
A | A - 35
b | b - 3
B | B - 37
c | c - 4
C | C - 38
ć | ć - 5
Ć | Ć - 39
d | d - 6
D | D - 40
E | E - 41
e | e - 7
Ę | Ę - 42
ę | ę - 8
F | F - 43
f | f - 9
g | g - 10
G | G - 44
h | h - 11
H | H - 45
i | i - 12
I | I - 46
j | j - 13
J | J - 47
k | k - 14
K | K - 48
L | L - 49
ź | ź - 36
l | l - 15
Ł | Ł - 50
ł | ł - 16
m | m - 17
M | M - 51
n | n - 18
N | N - 52
ń | ń - 19
Ń | Ń - 53
o | o - 20
O | O - 54
ó | ó - 28
Ó | Ó - 62
P | P - 55
p | p - 21
Q | Q - 56
q | q - 22
r | r - 23
R | R - 57
s | s - 24
S | S - 58
š | š - 2
t | t - 26
T | T - 60
U | U - 61
u | u - 27
w | w - 29
W | W - 63
X | X - 64
x | x - 30
y | y - 31
Y | Y - 65
Z | Z - 66
z | z - 32
ż | ż - 34
Ż | Ż - 68
? | ? - 59
? | ? - 25
? | ? - 33
? | ? - 67





=?iso-8859-2?Q?Jaros=B3aw_Niemczyk?= - 18-10-2007 00:03

 
Użytkownik "sado4dnow" <sado4dnow@wp.pl> napisał w wiadomości
news:ff5l5t$hne$1@news.onet.pl...
> Wyeksportowałem do bazy na serwerze providera dane (68 rekordów - 68
> literek
> polskiego alfabetu). Ponieważ dane eksportowane są z Accessa przez ODBC,
> zapewne są w kodowaniu cp1250.
> Nie chcę i nie mogę zmieniać tego kodowania.
> Chcę tak przestawić bazę MySql, zeby potrafiła posortować dane w takim
> kodowaniu. Ustawiłem tabelę na charset: cp1250 oraz collation na:
> cp1250_general_ci.

> Dodam że nie chodzi mi o wyświetlanie "krzaków", tylko kolejność rekordów.
>
> Pozdrawiam,
> Paweł.
>
Witam.
Może spróbuj cp1250_bin

POzdrawiam - Jarek




Marcin 'frodo2000' Molak - 19-10-2007 00:00

  Spróbuj użyć funkcji COLLATE w zapytaniu SELECT:
http://dev.mysql.com/doc/refman/5.0/...t-collate.html

Pozdrawiam,
Marcin Molak
  • 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
  • ptsite.xlx.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