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

Stateful EJB vs. Session Attribute

java session java-ee ejb

When using a Stateful EJB, how does the server know who the EJB is associated with if the client does not have an active session? I have used stateless EJB's before, but am now trying to learn how ...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.