From: Aaron Smith Date: 2007-06-25T09:24:47+09:00 Subject: Re: insert marshall'd data into mysql Peter Cooper wrote: > On 6/25/07, Aaron Smith wrote: >> Hey all.. what methods can I use to safely insert Ruby marshall'd data >> into mysql? > > Use a BLOB column. MySQL treats BLOB columns as 8 bit binary data. > TEXT will also work, but there are a number of considerations ( > http://dev.mysql.com/doc/refman/5.0/en/blob.html ). Since Marshalled > data is just regular 8 bit data, you can just throw it in there. If > you were /really/ worried / paranoid about throwing full 8 bit data, > non printable characters and all, into a database, you could Base64 > encode and decode. > > Cheers, > Peter Cooper > http://www.rubyinside.com/ Makes sense with blobs. What about in the actual insert statments? EX: someObj= {:one => 'two', :three => 'four'} d = Marshal.dump(someObj) @con.query("INSERT INTO user_data SET marshal='#{d}'"); That will produce an error because of some of the characters in the marshal string.. -- Posted via http://www.ruby-forum.com/.