Jump to content
Sign in to follow this  
Mr C

Dirty Filthy Text

Recommended Posts

Thought I should post an experience I had with using EasySync (which I love by the way), and pasted text containing hidden characters, that can cause an issue with synchronized data.

 

The issue observed ::

Upon doing an initial sync, I noticed some fields in the recipient db had text in fields that did not correspond with that in the master database.

Looking at the master data, I noticed a "notes" field contained text that looked like it was pasted from another source (in most fields I control the text input, cleaning it to remove things like, formating and spaces and returns at the end of single line data fields).

This "notes" text was part of the data that was ending up in fields it should not have been in, so that was where I started.

 

I then copied the text into my favourite text editor (currently TextWrangler), and noticed an upsidedown ? in the spot where line returns should have been, and these were in the spot where the text was breaking up, and ending up in the wrong fields.

Using the FileMaker Data Viewer, I pasted the character into a ' Code ( "?" ) ' calculation [ ? = copied/pasted text ], this showed the Value to be 8232. The following calculation ' Substitute ( NoteText ; Char ( 8232 ) ; Char ( 13 ) ) ' when run on the text fixed the problem. All following sync's put the data into the correct fields.

 

Conclution ::

The text turned out to have been copied from an email recieved. The ' Char (8232) ' characters were the line returns in the email text.

So it would appear some characters can cause undesirable effects in EasySync. I have since put the calculation into a text cleaning function, applied to multiline text fields in the db.

It would also be good if anyone with better knowledge of the internal workings of EasySync, could enlighten me (us) to what other characters could cause problems, they could be added to the text cleaning function.

 

Best Regards

Mark Chettle

Australia

 

 

Share this post


Link to post
Share on other sites

Mark --

 

I believe that what you are seeing is more of an issue with how FileMaker's ExecuteSQL handles (or doesn't handle) certain characters. From what I've seen, it can occur both when the data contains certain characters, and in cases where the SQL itself has certain hidden chars.

 

Unfortunately, I don't have a list of the characters that cause this issue.

 

-- Tim

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By Answers
      Hello,
      We have Filemaker server, and the techs in the field are sometimes in areas where the wifi/cellular service is sketchy at best. I was wondering what the best solution would be. I guess put the database on the devices (iPads) themselves and then  create a script to import the offline data?  I heard there are plugins to sync the data with the server.
      Just thought I'd throw it out there and see what experience other people have had.
      Caroline
    • By IT_User
      I have already posted here:
      https://community.filemaker.com/thread/170677
      and have some thoughts in mind, but I will copy what I put in there, here.
       
      Avoid FMGo Connection Interrupted
      Server Timeout Disconnect
       
      In the attached links, it goes back to questions that I had that dealt with a file on an iOs device, making sure it stays live and up to date.
       
      So what I have done is worked on a local file that syncs to the one on the server.
      That seemingly works, however there is a problem that just recently came up when I was testing. When the local file tries to reach the file on the server, it doesn't always connect.
      In talking with others there is two consensus of what might be the cause:
      The Wireless access point is blocking access File security permissions are not working (File Access tab in Security) "Reset All" temporarily works (on the server file) Deauthorizing and Authorizing sometimes works (on the server file) Turning off the File Access requirement doesn't seem to help (on the server file) I do have File Access on the local file, but I haven't tried turning that off.
      Since I can't debug exactly what is going on, on the iPad this makes it harder. (I have put in some custom dialogs to see some things.)
      The local file with the syncing to the server file works on my desktop, but that is a wired connection. (I could try the same wireless connection.)
       
      It could be that I'm making a duplicate of the local file and putting that on the iPad, which makes the file not work.
      (I put on the duplicate file on the iPad newly each time for testing, because I need a file without certain info on it, which will be filled later [dealing with Get(PersistentID)].)
       
      Is there something I'm not thinking of?
       
      To my knowledge, it had been working until recently.
      I'll try a few more things, but hopefully get answers in the meantime.
      Thank you
    • By HALBURN
      Our Zulu has completely stopped working with Google...it's not syncing in either direction.
      We have rebooted the server but it has not corrected the problem.
      Urgent...Please advise!
    • By Eden Morris
      I feel like I'm missing something obvious. I'm trying to write some SQL to get an ID list for deleted records in a syncing solution. I'm finding that its slower than I'd like and this method feels like it's not efficient at all, anyone have a better idea?
       
      To explain what I'm doing I'm getting a list of ID's where the creation timestamp is before the last sync and then I check to see if it doesn't exist in the other file. The problem is that for every record I'm running rather large select statement within the EXISTS().
       
      The table SP stands for Sync Projects and Q stands for Questions, I'm using SP to get only the questions that are attached to the projects on the client file.
       
      Get the ID's in the local file:
      ExecuteSQL("SELECT id FROM Q WHERE zCrTS < ? AND NOT EXISTS(SELECT * FROM H_Q WHERE Q.id=H_Q.id)";""; ""; $$LastSync) Get the ID's in the hosted file:
      ExecuteSQL("SELECT H_Q.id FROM H_Q , SP WHERE zCrTS < ? AND H_Q.id_project = SP.id AND NOT EXISTS(SELECT * FROM Q WHERE H_Q.id=Q.id)";""; ""; $$LastSync)  
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.