Rails JSON non-standard characters

I have a string within my database that contains this sample substring.

string = "\357\277\275\357\277\275"

When I try to convert this to JSON, I get a lot of these bad boys (since they are non-ASCII characters).

Then, when jQuery tries to parse the JSON, it just craps out and gives me a SyntaxError: Unexpected Token

Here are three possible solutions.

  1. Convert the string into JSON acceptable values
  2. Remove the offending characters
  3. Replace the string with a message such as "Invalid Characters"

I am fine with any of these, but don't know how to go about them. Thoughts?

Answers


"\357\277\275" is the ascii octal representation of the Replacement Character(�). This indicates that when you converted to JSON there were non-ascii characters in your string. Ideally, you would want to identity how non-ascii characters are getting into your data upstream but the easy fix is to just delete them:

clean_string = "absr\357\277\275/xyz".gsub("\357\277\275","")
  #=> "absr/xyz"

In order to strip unprintable characters from strings in Ruby, you can use the following regex.

"your_string".gsub!(/[^[:print:]]/, '')

Need Your Help

Changing winform app for specific clients

c# oop agile software-design

I have a winforms app. I give it to three clients and each one wants a small tweak or customization specific just to them. To accomplish this, I'd have to keep a separate version just for each clie...

How do you handle developer individual files under version control?

java version-control

Some files in our repository are individual to each developer. For example some developers use a local database, which is configured in a properties file in the project. So each developer has diffe...