3 に答える
メソッドはget
Response インスタンスを返す必要があります。こちらのドキュメントを参照してください。
コードは次のようになります。
from flask import Flask, make_response
from flask.ext.restful import reqparse, abort, Api, Resource
class E2C(Resource): # English to Chinglish
def get(self):
chinese = u'爱'
type(chinese) # unicode
return make_response(chinese)
「\u7231」は確かにあなたが求める文字です。問題は、表示に使用しているデバイスによるその文字のレンダリングにあります。
そのため、ブラウザー ページには、meta
UTF-8 をレンダリングするためのタグを含める必要がある可能性があります。
<head>
<meta charset="UTF-8">
</head>
一方、cURLは、あなたのために簡単なグーグルを与えられた場合、デフォルトでユニコード文字を受け取るように聞こえるので、結果を保存/表示するために何を使用しているかの問題にすぎません...端末、ファイルシステム、プログラム、または使用しているものは何でも、そのユニコード文字を数値表現に変換することから。したがって、ファイルに保存する場合は、ファイルが utf-8 文字エンコーディングであることを確認する必要があります。画面にレンダリングする場合は、画面が対応しており、それを期待していることを確認する必要があります。
make_responseは実際に問題を解決できます。
辞書オブジェクトがあり、まだ utf-8 にエンコードされていないため、私の場合は少し異なります。私と同じような問題を抱えている人が他にいる場合に備えて、@Xing Shiのソリューションを変更します。
def get(self):
return make_response(
dumps({"similar": "爱“, "similar_norm": ”this-thing"},
ensure_ascii=False).decode('utf-8'))