1) First Try 6.56
Ok, I didn't know there's a new version;) I'll upgrade then. I've been reading into mysql manual and doing a series of experiments and I suppose the problem is due target server version, it doesn't attach DEFAULT CHARSET=latin2 to create table statement when dumping. But see yourself. I may be wrong as the the cause.
2) Zip and attach a SQL dump from a small example of a table that fails to copy and that has such data. Please both data from surce and from target after copy.
Cannot attach the files "Upload failed. You are not permitted to upload this type of file".
Here are the listings of sql:
PRE_COPY
CODE
/*
SQLyog Community Edition- MySQL GUI v6.55
MySQL - 5.0.51-2+tld2-log : Database - moja1
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`moja1` /*!40100 DEFAULT CHARACTER SET latin2 */;
USE `moja1`;
/*Table structure for table `cat_2` */
DROP TABLE IF EXISTS `cat_2`;
CREATE TABLE `cat_2` (
`cat_id` int(10) unsigned NOT NULL auto_increment,
`cat_name` varchar(30) default NULL,
PRIMARY KEY (`cat_id`)
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin2;
/*Data for the table `cat_2` */
insert into `cat_2`(`cat_id`,`cat_name`) values (8,'Układ okresowy'),(6,'Budowa atomu'),(3,'Substancje chemiczne'),(7,'mol'),(5,'Wiązania chemiczne'),(9,'Chemia nieorganiczna'),(10,'Pierwiastki'),(11,'Podstawy chemii'),(12,'Reakcje redoks'),(13,'Elektrochemia');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
POST_COPY
CODE
/*
SQLyog Community Edition- MySQL GUI v6.55
MySQL - 4.0.24_Debian-10sarge2-log : Database - db1
*********************************************************************
*/
/*!40101 SET NAMES latin2 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db1`;
USE `db1`;
/*Table structure for table `cat_2` */
DROP TABLE IF EXISTS `cat_2`;
CREATE TABLE `cat_2` (
`cat_id` int(10) unsigned NOT NULL auto_increment,
`cat_name` varchar(30) default NULL,
PRIMARY KEY (`cat_id`)
) TYPE=MyISAM;
/*Data for the table `cat_2` */
insert into `cat_2`(`cat_id`,`cat_name`) values (8,'Uk?ad okresowy'),(6,'Budowa atomu'),(3,'Substancje chemiczne'),(7,'mol'),(5,'Wi?zania chemiczne'),(9,'Chemia nieorganiczna'),(10,'Pierwiastki'),(11,'Podstawy chemii'),(12,'Reakcje redoks'),(13,'Elektrochemia');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
3) Execute on both hosts SHOW VARIABLES LIKE '%character%'; and paste the results
SOURCE: 5.0.51-2
character_set_client utf8
character_set_connection utf8
character_set_database latin2
character_set_filesystem binary
character_set_results utf8
character_set_server latin2
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
TARGET: 4.0.24
character_set latin2
character_sets latin1 big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1_de latin2 latin5 sjis swe7 tis620 ujis usa7 win1250 win1251ukr win1251
convert_character_set
There are these two words that lose latin2 chars: 'Uk?ad okresowy' and 'Wi?zania chemiczne'.
ADDED:
ps. when trying to restore a table from sql dump, the target server (4.0.24) throws an error in sql syntax - it doesn't allow for DEFAULT CHARSET=latin2 in create table. It also doesn't understand 'ALTER TABLE cat_2 CHARACTER SET latin2 COLLATE latin2_general_ci' when ther's COLLATE .. section;