Zanim ktokolwiek zamknie ten temat proszę o przeczytanie do końca smile.gif

Otóż z kodowaniem znaków często miałem problemy i zawsze mi się udawało jakoś je rozwiązać. Tym razem jednak nie mogę (być może jest to spowodowane kilkoma godzinami na siłowni). Szukałem na tym forum a także na innych, były różne rozwiązania jednak wszystkie już znałem i żadne z nich nie dało efektu.

Przedstawię problem w kodzie:

  1. mysql> SET names latin2 collate latin2_general_ci;
  2. Query OK, 0 rows affected (0.03 sec)
  3.  
  4. mysql> SET charset latin2;
  5. Query OK, 0 rows affected (0.02 sec)
  6.  
  7. mysql> SHOW VARIABLES LIKE 'coll';
  8. Empty SET (0.01 sec)
  9.  
  10. mysql> SHOW VARIABLES LIKE 'coll%';
  11. +----------------------+-------------------+
  12. | Variable_name | Value |
  13. +----------------------+-------------------+
  14. | collation_connection | latin2_general_ci |
  15. | collation_database | latin2_general_ci |
  16. | collation_server | latin1_swedish_ci |
  17. +----------------------+-------------------+
  18. 3 rows IN SET (0.02 sec)
  19.  
  20. mysql> SHOW VARIABLES LIKE 'char%';
  21. +--------------------------+----------------------------------+
  22. | Variable_name | Value |
  23. +--------------------------+----------------------------------+
  24. | character_set_client | latin2 |
  25. | character_set_connection | latin2 |
  26. | character_set_database | latin2 |
  27. | character_set_filesystem | BINARY |
  28. | character_set_results | latin2 |
  29. | character_set_server | latin1 |
  30. | character_set_system | utf8 |
  31. | character_sets_dir | /usr/LOCAL/share/mysql/charsets/ |
  32. +--------------------------+----------------------------------+
  33. 8 rows IN SET (0.01 sec)
  34.  
  35. mysql> DELETE FROM imgallery_img_newsy; Query OK, 3 rows affected (0.05 sec)
  36.  
  37. mysql> INSERT INTO imgallery_img_newsy VALUES('Ładny utwór żabi');
  38. ERROR 1136 (21S01): COLUMN count doesn't match value count at row 1
  39. mysql> insert into imgallery_img_newsy values(null, '2009-01-01','Ładny utwór ża
  40. bi');
  41. Query OK, 1 row affected (0.01 sec)
  42.  
  43. mysql> select * from imgallery_img_newsy;
  44. +----+--------------+------------------+
  45. | id | data_dodania | news |
  46. +----+--------------+------------------+
  47. | 14 | 2009-01-01 | ťadny utw˘r ľabi |
  48. +----+--------------+------------------+
  49. 1 row in set (0.02 sec)
  50.  
  51. mysql>



o dziwo dając wartości w postaci hex znaki pokazują się ok.

  1. mysql> INSERT INTO imgallery_img_newsy VALUES(NULL, '2009-01-01',0xA3);
  2. Query OK, 1 row affected (0.01 sec)
  3.  
  4. mysql> SELECT * FROM imgallery_img_newsy;
  5. +----+--------------+------------------+
  6. | id | data_dodania | news |
  7. +----+--------------+------------------+
  8. | 16 | 2009-01-01 | Ł |
  9. +----+--------------+------------------+
  10. 3 rows IN SET (0.03 sec)


Mógłbym zamieniać znaki przed dodaniem do bazy na znaki hex jednak wolę poprostu mieć poprawne kodowaine w bazie danych, jednak czym może być ono spowodowane? Wszystkie bazdy danych, tabele, kolumny mają domyślne kodowanie latin2, sztuczki z kodowaniem cp* też już próbowałem, czym więc może być to spowodowane?

Czekam na odp, pzdr.


// EDIT //

TEMAT NIEWAŻNY.
Problem rozwiązany, jednak proszę nie pytać mnie jak to zrobiłem, bo bym musiał się kilka godzin rozpisywać i problem sięgał dalej niż php czy mysql tongue.gif