List:General Discussion« Previous MessageNext Message »
From:Dave Howorth Date:January 6 2014 12:18pm
Subject:loading 0x00A0 into mysql
View as plain text  
Hello,

I'm trying to make a copy of a mysql database and having an issue
loading fields containing a particular character. I've taken a dump
using mysqldump and then try to load it into a new database using

  mysql --user=me test_database < dump_file

Everything appears to work except that text fields containing a Unicode
non-breaking space (0x00A0) are truncated just before that character. I
can see the field in the dump file and it looks OK, but it doesn't all
make it into the new database.

My Unicode foo is not strong, and it's my first day back at work :( so
I'm hoping somebody recognises this problem immediately.

What I do know:

Server version: 5.5.34-0ubuntu0.12.04.1 (Ubuntu)

Extract from dump_file including offending character:

-- Table structure for table `text_for_pages`
--

DROP TABLE IF EXISTS `text_for_pages`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `text_for_pages` (
  `page` text NOT NULL,
  `keytext` text NOT NULL,
  `value` text,
  PRIMARY KEY (`page`(30),`keytext`(30))
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `text_for_pages`
--

LOCK TABLES `text_for_pages` WRITE;
/*!40000 ALTER TABLE `text_for_pages` DISABLE KEYS */;
INSERT  IGNORE INTO `text_for_pages` (`page`, `keytext`, `value`) VALUES
('About','left-column','text value'),('About','main-column','some text
... <A0> ... more text ...');
/*!40000 ALTER TABLE `text_for_pages` ENABLE KEYS */;


The value created in the database is just 'some text ... '

Cheers, Dave
Thread
loading 0x00A0 into mysqlDave Howorth6 Jan 2014
  • Re: loading 0x00A0 into mysqlhsv6 Jan 2014
Re: loading 0x00A0 into mysqlDave Howorth6 Jan 2014
  • Re: loading 0x00A0 into mysqlDobromir Velev7 Jan 2014