Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Błąd bazy danych #1267: Illegal mix of collations
scanner
post
Post #1





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Zdurniałem.

php: 5.0.3
MySQL: 4.1.8
Mantis: 0-19.2

Próba dodania np. kategorii zawirajacej PL znaczki skutkuje wynikiem:
Cytat
Błąd bazy danych #1267: Illegal mix of collations (latin2_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' dla zapytania SELECT COUNT(*)
FROM mantis_project_category_table
WHERE project_id='1' AND
category='Funkcjonalności'.

Przyznam, ze nie wgryzałem się w manual nowego mysql'a - gdzie szukac przyczyny błędu?

Kodowanie strony ustawione na UTF-8.

Niestosowanie polskich znaków eliminuje błędy, ale to nie o to przecież chodzi..
Pomóżcie ciężko zapracowanemu smile.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
GrZeCh
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 10.05.2004
Skąd: Lubuskie / Gorzów Wlkp

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


hmm .. jako ze nie jestem specjalista w tej dziedzinie to moge sie mylic .. ale ogolnie to u mnie w galerii od dzisiaj rana wyskakuje problem
Kod
DB Error: Bad SQL Query: DELETE FROM 4images_sessionvars WHERE session_id NOT IN ('f4c25e85f5bb17e67eeb8dab179c8b4f', '9016fbdaf3510e37d1da36f20f50e432', 'a7a7d27f3ede606efefda2024f04a01e', 'd77bf0318ad1ef7d269d67b22eda6fec', 'cd83cd0ab780e142f00f68f7f6971161', 'c3d30fc3cd4674c94d2fcf1e69b75e8a', 'b777ad571b33f49d2cbe99748359c86d', 'fad56cf1269e34a2deccdc7f2bc088f8', '150aa8941ece65474ec3d37c2b863868', '571d25b154ea989b8ee1e59c9b421208', '3910e76d954679c8e6785007b1b3a116')
Illegal mix of collations for operation ' IN '


i za cholere nie rozumiem czemu tak sie dzieje .. wczoraj kladlem sie spac to wszystko bylo dobrze .. poszukalem troche po sieci i znalazlem cos takiego aby wpisac w bazie MySQL taka komende:
Kod
mysql> show variables like 'colla%';


i u mnie dalo to taki wynik:

Kod
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database   | latin2_general_ci |
| collation_server     | latin2_general_ci |
+----------------------+-------------------+


i chyba o to sie rozbija ze jest te swedish .. wie ktos moze jak to zmienic?


--------------------
foto-grafik.pl
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


http://dev.mysql.com/doc/mysql/en/charset-mysql.html
http://dev.mysql.com/doc/mysql/en/charset-connection.html, itd
Cytat
shell> mysqld
shell> mysqld --default-character-set=latin1
shell> mysqld --default-character-set=latin1 \
          --default-collation=latin1_swedish_ci

// lub przy kompilacji mysqla ustawia sie te parametry.
// ...

SET NAMES 'charset_name'
SET CHARACTER SET charset_name

SET NAMES indicates what is in the SQL statements that the client sends. Thus, SET NAMES 'cp1251' tells the server ``future incoming messages from this client will be in character set cp1251.'' It also specifies the character set for results that the server sends back to the client. (For example, it indicates what character set column values will have if you use a SELECT statement.)

A SET NAMES 'x' statement is equivalent to these three statements:

mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET character_set_connection = x;


Nie wiem czy to zadziala, u siebie mam tylko utf_general_ci, wiec nie mam jak tego sprawdzic.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Bora
post
Post #4





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

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


Scanner jak udało tobie się to rozwiązać?
Mam na localu XP apache 1.3.33 php 5.0.3 i mysql 4.1.3 i podobny problem.
set NAMES latin2
SET CHARACTER SET latin2
set collation_connection = latin2_general_ci
character_set_client = latin2_general_ci
i niestety nic nie pomaga.
może update do 5.1 pomoże w co wątpie.
Go to the top of the page
+Quote Post
tts
post
Post #5





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 14.02.2005

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


http://bugs.mysql.com/bug.php?id=3611
mnie udalo sie to ominac wykonujac przed kazdym zapytaniem: SET CHARACTER SET latin2, btw, na mysql 4.1.10 nie zauwazylem tego objawu


--------------------
"... - Water's wet, the sky is blue and old Satan Claus Jimmy, he's out there and he just gettin' stronger.
- So what do we do about that?
- Be prepared son that's my motto, be prepared..."
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 11:09