У меня есть строка в моей базе данных, которая содержит эту подстроку.
string = "\357\277\275\357\277\275"
Когда я пытаюсь преобразовать это в JSON, я получаю много этих плохих мальчиков (поскольку они не являются символами ASCII).
�
Затем, когда jQuery пытается разобрать JSON, он просто дерьмовыдает и дает мне SyntaxError: Unexpected Token
Вот три возможных решения.
Я в порядке с любым из них, но не знаю, как им обойти. Мысли?
Чтобы вырезать непечатаемые символы из строк в Ruby, вы можете использовать следующее регулярное выражение.
"your_string".gsub!(/[^[:print:]]/, '')
"\357\277\275"
- это восьмеричное представление ascii замещающего символа (). Это означает, что при преобразовании в JSON в вашей строке присутствовали символы не-ascii. В идеале вы хотели бы идентифицировать, как символы не-ascii попадают в ваши данные вверх по течению, но простое исправление заключается в том, чтобы просто удалить их:
clean_string = "absr\357\277\275/xyz".gsub("\357\277\275","")
#=> "absr/xyz"