こんにちは、現役沖縄フリーランスエンジニアのmahです。
このブログでは、
僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、
ノウハウなどを書いていきます。
今回は、
- 【Ruby】"\xE6" from ASCII-8BIT to UTF-8 in /usr/local/bundle/gems/json-2.2.0/lib/json/common.rb:224:in `encode
についてです。
"\xE6" from ASCII-8BIT to UTF-8 in /usr/local/bundle/gems/json-2.2.0/lib/json/common.rb:224:in `encode
- "\xE6" from ASCII-8BIT to UTF-8 in /usr/local/bundle/gems/json-2.2.0/lib/json/common.rb:224:in `encode
- 最後に
発生した環境は下記。
macOS Big Sur 11.3.1
ruby 2.6.3
rails 5.2.3
開発していると、
突然 "\xE6" from ASCII-8BIT to UTF-8
というエラーが発生しました。
/usr/local/bundle/gems/json-2.2.0/lib/json/common.rb:224:in `encode'\n/usr/local/bundle/gems/json-2.2.0/lib/json/common.rb:224:in `generate'\n/usr/local/bundle/gems/json-2.2.0/lib/json/common.rb:224:in `generate'\n/usr/local/bundle/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:46:in `call'\n/usr/local/bundle/gems/babel-transpiler-0.7.0/lib/babel/transpiler.rb:28:in `transform'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/babel_processor.rb:57:in `block in call'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/cache.rb:92:in `fetch'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/babel_processor.rb:43:in `call'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/babel_processor.rb:16:in `call'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:84:in `call_processor'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:66:in `block in call_processors'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:65:in `reverse_each'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:65:in `call_processors'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:22:in `block in <class:CompositeProcessor>'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:33:in `call'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:84:in `call_processor'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:66:in `block in call_processors'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:65:in `reverse_each'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:65:in `call_processors'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/loader.rb:182:in `load_from_unloaded'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/loader.rb:59:in `block in load'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/loader.rb:335:in `fetch_asset_from_dependency_cache'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/loader.rb:43:in `load'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/cached_environment.rb:44:in `load'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/add_source_map_comment_to_asset_processor.rb:48:in `call'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:84:in `call_processor'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:66:in `block in call_processors'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:65:in `reverse_each'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/processor_utils.rb:65:in `call_processors'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/loader.rb:182:in `load_from_unloaded'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/loader.rb:59:in `block in load'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/loader.rb:335:in `fetch_asset_from_dependency_cache'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/loader.rb:43:in `load'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/cached_environment.rb:44:in `load'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/base.rb:81:in `find_asset'\n/usr/local/bundle/bundler/gems/sprockets-1bcee8ebc034/lib/sprockets/base.rb:119:in `[]'\n/usr/local/bundle/bundler/gems/sprockets-rails-137a3bad5131/lib/sprockets/rails/helper.rb:356:in `find_asset'\n/usr/local/bundle/bundler/gems/sprockets-rails-137a3bad5131/lib/sprockets/rails/helper.rb:348:in `find_debug_asset'\n/usr/local/bundle/bundler/gems/sprockets-rails-137a3bad5131/lib/sprockets/rails/helper.rb:230:in `block in lookup_debug_asset'\n/usr/local/bundle/bundler/gems/sprockets-rails-137a3bad5131/lib/sprockets/rails/helper.rb:243:in `block in resolve_asset'\n/usr/local/bundle/bundler/gems/sprockets-rails-137a3bad5131/lib/sprockets/rails/helper.rb:242:in `each'\ ・ ・ ・
json gemの中でコケています。
対象画面のviewで to_json
している変数があったため、
to_jsonする前に force_encoding('UTF-8')
するも効果なし。
プロジェクトのチャットに投げてみると、
自分以外は発生していないようでしたが、
「バイナリデータに "\xE6"
が混じっていて、それを読み込もうとしている可能性もある」と調べ方を教えていただいたので確認します。
$ grep -obUa "\xE6" -R * app/assets/images/xyz.jpg:12345:æ storage/va/ri/variants/jJzamaNCaS6EHJZyK5AYUHw9/1de8d884275d37de15802a4e19585c01308da5b32e88:14412:æ storage/va/ri/variants/i7wN3Aa2iCWdBtz7XhG333e26421629cad738b6a887209637d2987bd95737cd8a32bd:92064:æ storage/va/ri/variants/3MPJa8GhNESMpg4YgcJTzX1d/1de8c23dee96c0d736d37de158085c01308da5b32e88:14412:æ tmp/cache/assets/sprockets/v4.0.0/Fa/fAPVpFajr6PZH74BLHZ2qo1iLJbJogEe1ZVPd0w.cache:255485:æ
5つほどヒット。
tmp/cache/以下にあるものが怪しそうなので削除するも変わらず。
tmp/cache/assets/sprockets/v4.0.0/Fa/fAPVpFajr6PZH74BLHZ2qiLA7o1iLJbJogEe1ZVPd0w.cache:255485:æ
試しに/tmp/cacheディレクトリごと削除すると動きました。
根本的に解決したかは微妙ですがとりあえず...
下記の方法でも解決しそうです。
最後に
下記の表に、
フリーランスエンジニア向けの人気エージェントをまとめてみました。
エージェント選びで悩んでいる方は是非参考にしてみてくださいね★
エージェント | 詳細 | 最高単価/月 | 設立 |
---|---|---|---|
|
評判をチェック | 180万円/月 | 2011年 |
ギークスジョブ
![]() |
評判をチェック
![]() |
180万円/月 | 2011年 |
フォスターフリーランス![]() |
評判をチェック | 230万円/月 | 1996年 |
pe-bank(pebank) | 評判をチェック | 200万円/月 | 1989年 |
Midworks(ミッドワークス) |
評判をチェック | 200万円/月 | 2013年 |
|
評判をチェック | 140万円/月 | 2005年 |