NI-Lab.

nilog:

← 前の日 2017-01-09 次の日 →
← 一年前 一年後 →
Twitter (2017-01-09)
とりあえず Firefox 使おう。
[t] 2017-01-09 20:34:40
関連するかも情報
「開発者が日本語話者じゃないから文字化けするページに当たって困ったことがないだけ」

Chrome 55.0.2845.0 canaryでは手動でのテキストエンコーディング選択UIが削除される | スラド IT https://it.srad.jp/story/16/09/01/0637218/
[t] 2017-01-09 20:33:09
とりあえず Firefox 使おう。
[t] 2017-01-09 20:34:40
よくわからないなぁ。。

「このメソッドは引数のエンコーディングを変換しません。そのため 送るデータのエンコーディングを変換したい場合はあらかじめ 変換しておいてください」

URI.encode_www_form (Ruby https://docs.ruby-lang.org/ja/latest/method/URI/s/encode_www_form.html
[t] 2017-01-09 20:40:10
ほんと、こまりますわー(´Д⊂

https://twitter.com/tetnoguchi/status/818423722730090501
[t] 2017-01-09 20:53:11
@comame_gHelp あぁ、やっぱり Chrome で Web ページのエンコーディングを変更することはできなくなったんですね・・・
[t] 2017-01-09 20:54:41
“Chrome 55 has removed the Encoding menu”

Chrome encoding options gone? - Google プロダクト フォーラム https://productforums.google.com/forum/#!topic/chrome/2JIo6Yu7K-I
[t] 2017-01-09 20:57:04
“East Asian users (mainly CJK) encounters mojibake”

597488 - Remove encoding menu - chromium - Monorail https://bugs.chromium.org/p/chromium/issues/detail?id=597488
[t] 2017-01-09 20:59:20
7年前の議論かな。

「第2引数として encoding を指定可能にすべきではないでしょうか」

[ruby-dev:40672] URI methods for application/x-www-form-urlencoded http://ruby-dev.ruby-lang.narkive.com/dgjxOiFL/ruby-dev-40672-uri-methods-for-application-x-www-form-urlencoded
[t] 2017-01-09 21:08:41
【話題急上昇中ワード】
1. 諏訪部
2. 声優総選挙
3. 森川
4. 林原めぐみ
5. 森川智之
6. 生駒
7. フレンドパーク
8. 大御所
9. ハマーン
10. 三石
http://searchranking.yahoo.co.jp/realtime_buzz/ #buzzbot
[t] 2017-01-09 21:10:03
URI.encode_www_form の第二引数に文字エンコーディング指定できた。ドキュメントには書かれてないけど。

module URI (Ruby 2.4.0) https://docs.ruby-lang.org/ja/latest/class/URI.html#S_ENCODE_WWW_FORM
[t] 2017-01-09 21:12:59
こっちのドキュメントには書かれてる。

encode_www_form(enum, enc=nil)

Module: URI (Ruby 2.4.0) https://ruby-doc.org/stdlib-2.4.0/libdoc/uri/rdoc/URI.html#method-c-encode_www_form
[t] 2017-01-09 21:15:12
Ruby のソースコードを見てみたら確かに第二引数が存在してた。

def self.encode_www_form(enum, enc=nil)

ruby/common.rb at v2_4_0 · ruby/ruby https://github.com/ruby/ruby/blob/v2_4_0/lib/uri/common.rb#L418
[t] 2017-01-09 21:23:04
set_form_data の中で URI.encode_www_form(params) ってやってるけどこれは文字エンコーディング考慮されないね。

ruby/header.rb at v2_4_0 · ruby/ruby https://github.com/ruby/ruby/blob/v2_4_0/lib/net/http/header.rb#L382
[t] 2017-01-09 21:24:51
Net::HTTP::Get とか Net::HTTP::Post の定義はこのへん。

ruby/requests.rb at v2_4_0 · ruby/ruby https://github.com/ruby/ruby/blob/v2_4_0/lib/net/http/requests.rb
[t] 2017-01-09 21:26:42
シンプルな定義ね。

class Net::HTTP::Post < Net::HTTPRequest
METHOD = 'POST'
REQUEST_HAS_BODY = true
RESPONSE_HAS_BODY = true
end
[t] 2017-01-09 21:26:56
Net::HTTPRequest の定義もだいぶシンプル。

ruby/request.rb at v2_4_0 · ruby/ruby https://github.com/ruby/ruby/blob/v2_4_0/lib/net/http/request.rb
[t] 2017-01-09 21:27:38
Net::HTTPGenericRequest に具体的な実装がされている。

ruby/generic_request.rb at v2_4_0 · ruby/ruby https://github.com/ruby/ruby/blob/v2_4_0/lib/net/http/generic_request.rb
[t] 2017-01-09 21:28:23
EUC-JP で set_form_data を使いたいなら事前に変換するしかないか。あるいは、自前で set_form_data みたいなのを書くか。

module Net::HTTPHeader (Ruby 2.4.0) https://docs.ruby-lang.org/ja/latest/class/Net=3a=3aHTTPHeader.html#I_FORM_DATA--3D
[t] 2017-01-09 21:31:58
URI.encode_www_form と Net::HTTP#set_form_data の encoding 指定をするより、事前に自前で変換したほうが統一感があって良さそう。
[t] 2017-01-09 21:36:18
String#encode で内部的なエンコーディングを変換してから URI.encode_www_form とか set_form_data をコールすればいいのか。

String#encode (Ruby 2.4.0) https://docs.ruby-lang.org/ja/latest/method/String/i/encode.html
[t] 2017-01-09 21:38:14
2017年01年09日のnilogをすべて表示する

- NI-Lab.
- Mastodon (@nilab@mastodon-japan.net)
- Twitter (@nilab)
- Timelog (@nilab)
- はてなブックマーク (id:nilab)

Web Services by Yahoo! JAPAN