QA@IT
«質問へ戻る

質問を投稿

Iconv.iconv から String.encode への置き換えが出来ないケース

Ruby 2.0.0 から Iconv が無くなるため、以下のような

Iconv.iconv("UTF-8", "UTF-7", str)

というコードを

str.encode("UTF-8", "UTF-7")

に置き換えると、以下のように変換不可能とエラーが発生します。

Encoding::ConverterNotFoundError: code converter not found (UTF-7 to UTF-8)

このような場合、ruby-core に変換器を作成してもらうしかないのでしょうか。また、UTF-7 から UTF-8 に変換するという処理自体がおかしい場合は UTF-7 と UTF-8 の関係についての情報源を教えてもらえると嬉しいです。

Ruby 2.0.0 から Iconv が無くなるため、以下のような

```ruby
Iconv.iconv("UTF-8", "UTF-7", str)
```

というコードを

```ruby
str.encode("UTF-8", "UTF-7")
```

に置き換えると、以下のように変換不可能とエラーが発生します。

```
Encoding::ConverterNotFoundError: code converter not found (UTF-7 to UTF-8)
```

このような場合、ruby-core に変換器を作成してもらうしかないのでしょうか。また、UTF-7 から UTF-8 に変換するという処理自体がおかしい場合は UTF-7 と UTF-8 の関係についての情報源を教えてもらえると嬉しいです。