Проблема с кодировкой для замены cedilla в Ruby - PullRequest
2 голосов
/ 09 апреля 2020

Я только что обнаружил, что у меня есть 2 вида cedillas из моей базы данных PostgreSQL в моем коде Ruby.

enter image description here

Отображаются оба так же, как на моем сайте и в веб-приложении. Моя единственная проблема - когда я сравниваю строки, они не равны.

Какой лучший Ruby способ заменить второй на первый? Весь мой сайт и база данных - UTF-8. Я уже использую пользовательский метод для замены "нелатинских" символов и делал такие вещи для пространства, например:

# various kinds of space characters
        "\xc2\xa0"     => " ",
        "\xe2\x80\x80" => " ",
        "\xe2\x80\x81" => " ",
        "\xe2\x80\x82" => " ",

Есть ли такой код или код ascci, как этот, для второго cedilla?

РЕДАКТИРОВАТЬ: На самом деле, я нашел разницу в Cedilla путем сравнения строк в ruby l oop. Я просто хотел перечислить некоторые строки и разбить l oop, когда следующая строка отличается. Моя проблема в том, что Ruby доверяет строке, чтобы она отличалась, даже если она одинакова на дисплее. Любой обходной путь?

В этом примере 2 строки, начинающиеся с "uniq_", одинаковы при отображении, но просто сравнивая их с оператором "! =", Ruby считает, что они не совпадают из-за проблема кодирования. Есть ли способ обойти это? enter image description here

...