=?iso-8859-2?q?mysql_+_polskie_znaczki_+_brak_pomys=B3=F3w?=
aukcjometr@gmail.com - 20-03-2007 00:02
=?iso-8859-2?q?mysql_+_polskie_znaczki_+_brak_pomys=B3=F3w?=
Witam wszystkich
Niestety nie znalaz³em rozwi±zania do mojego problemu w historii usenetu ani na innych stronach wiêc je¶li kto¶ ma jeszcze jaki¶ pomys³ jak to rozwi±zaæ to bêdê bardzo wdziêczny.
Problem mam z ogonkami.
Przedstawiam kolejne kroki skryptu wraz z wynikami:
SHOW CREATE DATABASE test\G; *************************** 1. row *************************** Database: test Create Database: CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci */ 1 row in set (0.01 sec)
set names utf8 collate utf8_polish_ci;
set character_set_client=utf8; set character_set_connection=utf8; set character_set_database=utf8; set character_set_results=utf8; set character_set_server=utf8;
ERROR: No query specified Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec)
status; -------------- mysql Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2
Connection id: 629470 Current database: test Current user: ****@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.0.32-Debian_3-log Debian etch distribution Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 1 day 12 hours 10 min 55 sec
Threads: 4 Questions: 2720058 Slow queries: 270 Opens: 300 Flush tables: 1 Open tables: 64 Queries per second avg: 20.883 --------------
drop table tabela; CREATE TABLE tabela ( tekst varchar(100) collate utf8_polish_ci default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec)
insert into tabela (tekst) values (convert('ble êó³¶ê±¿¼æñ' using utf8)); show warnings; Query OK, 1 row affected, 2 warnings (0.00 sec)
+---------+------ +----------------------------------------------------------------------------------- + | Level | Code | Message | +---------+------ +----------------------------------------------------------------------------------- + | Warning | 1300 | Invalid utf8 character string: 'EAF3B3' | | Warning | 1366 | Incorrect string value: '\xEA\xF3\xB3\xB6\xEA \xB1...' for column 'tekst' at row 1 | +---------+------ +----------------------------------------------------------------------------------- + 2 rows in set (0.00 sec)
insert into tabela (tekst) values ('ble êó³¶ê±¿¼æñ'); show warnings; Query OK, 1 row affected, 1 warning (0.00 sec)
+---------+------ +----------------------------------------------------------------------------------- + | Level | Code | Message | +---------+------ +----------------------------------------------------------------------------------- + | Warning | 1366 | Incorrect string value: '\xEA\xF3\xB3\xB6\xEA \xB1...' for column 'tekst' at row 1 | +---------+------ +----------------------------------------------------------------------------------- + 1 row in set (0.00 sec)
select tekst norm, convert(tekst using utf8) utf8 from tabela; +------+------+ | norm | utf8 | +------+------+ | ble | ble | | ble | ble | +------+------+ 2 rows in set (0.01 sec)
CREATE FULLTEXT INDEX IDX_tabela_tekst USING BTREE ON tabela(tekst); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0
select tekst from tabela where match(tekst) against ('ble êó³¶ê±¿¼æñ'); select tekst from tabela where match(tekst) against (convert('ble êó³¶ê±¿¼æñ' using utf8)); Empty set (0.00 sec)
Empty set, 1 warning (0.00 sec)
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1300 | Invalid utf8 character string: 'EAF3B3' | +---------+------+-----------------------------------------+ 1 row in set (0.00 sec)
czy ktos ma jakis pomysl jak zmusic to do dzialania?
pozdrawiam aukcjometr
Artur Muszynski - 20-03-2007 00:02
=?iso-8859-2?Q?Re:_mysql_+_polskie_znaczki_+_brak_pomys=B3=F3 w?=
aukcjometr@gmail.com wrote: > set character_set_client=utf8; > insert into tabela (tekst) values (convert('ble êó³¶ê±¿¼æñ' using > utf8));
Za³o¿y³e¶, ¿e klient pos³uguje siê UTF-8. Wychodzi na to, ¿e b³êdnie. W tym miejscu convert jest zupe³nie do niczego.
artur
aukcjometr@gmail.com - 21-03-2007 00:04
=?iso-8859-2?q?Re:_mysql_+_polskie_znaczki_+_brak_pomys=B3=F3 w?=
Witam
ale jakkolwiek nie ustawie nigdy nie zadzialal do tej pory ten indeks i nigdy nie otrzymuje w konsoli polskich literek. (w php`ie korzystajacym z tej bazy sa polskie).
Problem generalnie jest taki, ze nie potrafie tak skonfigurowac tej tabeli i indeksu zeby np. zadzialalo mi z poziomu php`a zapytanie ...... where match (...) against('¿¼³ó¶±æê³'); ...... insert i select zwracaja polskie literki ale juz match(...)... nie.
pozdrawiamy zespol aukcjometr
On 19 Mar, 23:04, "Artur Muszynski" <art...@union.wytnijto.com.pl> wrote: > aukcjom...@gmail.com wrote: > > set character_set_client=utf8; > > insert into tabela (tekst) values (convert('ble êó³¶ê±¿¼æñ' using > > utf8)); > > Za³o¿y³e¶, ¿e klient pos³uguje siê UTF-8. Wychodzi na to, ¿e b³êdnie. W tym > miejscu convert jest zupe³nie do niczego. > > artur
Maciek Dobrzanski - 22-03-2007 00:06
In news:1174425928.378594.107550@o5g2000hsb.googlegro ups.com, aukcjometr@gmail.com <aukcjometr@gmail.com> wrote:
> ale jakkolwiek nie ustawie nigdy nie zadzialal do tej pory ten indeks > i nigdy nie otrzymuje w konsoli polskich literek. (w php`ie > korzystajacym z tej bazy sa polskie).
Nie zrozumia³e¶ odpowiedzi Artura. Deklarujesz bazie, ¿e nap³ywaj±ce dane bêd± zakodowane w UTF-8. Tego bêd± oczekiwa³y wszelakie mechanizmy, tak¿e funkcja CONVERT(). Ty jednak wysy³asz je w innej formie, np. w latin2. W tej sytuacji ca³a konstrukcja CONVERT('co¶tam' USING utf8) nic nie wnosi, bo jako argument otrzymuje ju¿ nieprawid³owe dane. W tej sytuacji powiniene¶ u¿yæ konstrukcji _latin2'str' (lub innej w³a¶ciwej deklaracji kodowania), która powiedzia³aby bazie jakie dane tak naprawdê otrzymuje i u¶wiadomi j±, ¿e musi wykonaæ dodatkow± konwersjê(!).
Maciek
aukcjometr@gmail.com - 22-03-2007 00:06
=?iso-8859-2?q?Re:_mysql_+_polskie_znaczki_+_brak_pomys=B3=F3 w?=
ale w pozniejszym insercie wstawiam wszystko bez stwierdzania w jakim kodowaniu, a polaczenie, client, serwer, baza danych i tabela jest ustawiona na utf8 a ja zrobie pozniej select to zadnych polskich literek nie widac. chodzi mi o te linijki: Create Database: CREATE DATABASE `test`DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci set names utf8 collate utf8_polish_ci; set character_set_client=utf8; set character_set_connection=utf8; set character_set_database=utf8; set character_set_results=utf8; set character_set_server=utf8; CREATE TABLE tabela ( tekst varchar(100) collate utf8_polish_ci default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
i zapytania: insert into tabela (tekst) values ('ble êó³¶ê±¿¼æñ'); select tekst from tabela where match(tekst) against ('ble êó³¶ê±¿¼æñ');
po ktorych nie dostaje wynikow chociaz klient jest ustawion na utf8. jak powinne wygladac poszczegolne zapytania tak aby ostatnie (select tekst from tabela where match(tekst) against ('ble êó³¶ê±¿¼æñ');) dalo jakikolwiek wynik?
pozdrawiam aukcjometr
Maciek Dobrzanski - 23-03-2007 00:02
In news:1174510030.124970.125270@b75g2000hsg.googlegr oups.com, aukcjometr@gmail.com <aukcjometr@gmail.com> wrote:
> insert into tabela (tekst) values ('ble êó³¶ê±¿¼æñ'); > select tekst from tabela where match(tekst) against ('ble > êó³¶ê±¿¼æñ');
Ale skoro robisz to z shella z konsoli tekstowej, to sk±d te 'ble êó³¶ê±¿¼æñ' mia³o by byæ w formie UTF8? Masz tak skonfigurowane ¶rodowisko? Je¶li nie, to zapisz string w formie: _latin2'ble êó³¶ê±¿¼æñ' (lub inny _charset, je¶li w rzeczywisto¶ci jest inny).
Maciek
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Gdzie MySQL 4.1, a gdzie 5.0?
[MS SQL] "set names" (mySQL) w MS SQL
oracle -> oracle lub oracle -> mysql replikacja - programy
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
[MySQL] Zwrot tego, co pasuje i nie pasuje :-/
[pgsql] Dostosowanie sk³adni MySQL 5.0 -> PGSQL 8.1
[mysql] galeria zdjec - numerowanie zdjec
[MySQL] Zapytanie z pliku , wynik do pliku
[mysql] CONCAT agreguj±cy, ale nie GROUP_CONCAT()
mysql data 0000-00-00 na koniec
zanotowane.pldoc.pisz.plpdf.pisz.plshutter.opx.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 |
|