以 Grape 为例:加入
class API < Grape::API
content_type :json, 'application/json;charset=UTF-8'
end
应该就可以了(受到这篇文章的启发:https://ruby-china.org/topics/22912 )。
在一些程序中调用应该不是乱码,因为这些程序默认 utf-8。
如果你用英文版本的操作系统,浏览器默认的字体是 Western 的,而你的文本内容实际上可能是 UTF-8 的。由于 Grape 是 API,所以不会通知浏览器改用 UTF-8 显示。
还可以把谷歌浏览器设置下:Settings->Show advanced settings->Customize fonts, set Encoding to Unicode(UTF-8)
用 Safari 访问,设置 View -> Text Encoding -> UTF-8 来试试。