posprzątaj dziwne kodowanie w rubinie
Obecnie gram trochę z couchdb.
Próbuję przenieść niektóre dane z bloga z redis (kluczowego magazynu wartości) do couchdb (kluczowego magazynu wartości).
Widząc, że prawdopodobnie przenosiłem te dane co miliardy razy z różnych silników blogujących (każdy musi mieć hobby :)), wydaje się, że są jakieś kodujące snafus.
Używam CouchREST do uzyskania dostępu do CouchDB z ruby i otrzymuję to:
<JSON::GeneratorError: source sequence is illegal/malformed>
problemem wydaje się być część body_html obiektu:
<Post:0x00000000e9ee18 @body_html="[.....]Wie Sie bereits wissen, m\xF6chte EUserv k\xFCnftig seine [...]
To powinny być Umlauty („möchte” i „künftig”).
Masz pomysł, jak pozbyć się tych problemów? Przed wstawieniem próbowałem niektórych konwersji za pomocą funkcji kodowania ruby 1.9 lub iconv, ale nie mam jeszcze szczęścia :(
Jeśli spróbuję np. konwertuj te rzeczy do ISO-8859-1 za pomocą metody .encode () ruby 1.9, tak się dzieje (inny tekst, ten sam problem):
#<Encoding::UndefinedConversionError: "\xC6\x92" from UTF-8 to ISO-8859-1>