- Ruby on Rails¤ò»È¤Ã¤Æ¹½ÃÛ¤·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¡¢¥Ö¥í¥°¥Ñ¡¼¥Ä¤òJSONP¤ò»È¤Ã¤ÆÄ󶡤¹¤ë¡¢¤È¤¤¤¦¤³¤È¤ò¤ä¤Ã¤¿¤Î¤Ç¤½¤Î¥á¥â¤Ç¤¹¡£ ⌣
 - [[JSON¤È¤¤¤¦gem:http://rubyforge.org/projects/json/]]¤¬¤¢¤ê¡¢¤³¤ì¤ò»È¤Ã¤Æ¥Ï¥Ã¥·¥å¤Ê¤É¤ò´Êñ¤ËJSON¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤³¤ì¤Ç¤ä¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
 
 ** ¤È¤ê¤¢¤¨¤ºJSON¤ò½Ð¤·¤Æ¤ß¤ë [#x99cbfd3]
 ¥½¡¼¥¹
 - ¤Þ¤º¤ÏJSON¤ògem¤Ç¥¤¥ó¥¹¥È¡¼¥ë
  $gem install json
 - ¥½¡¼¥¹
  require "json"
  render_text({"name" => "»ÖÅÄ Íµ¼ù"}.to_json)
 ·ë²Ì
 - ·ë²Ì
  {"name":"\u5fd7\u7530 \u88d5\u6a39"}
 
 ** ¤³¤Î\uXXXX¤Ï? [#w6db4349]
 - [[ECMA-262 3rd Edition:http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/6_Source_Text.html]]¤ä[[RFC 4627:http://www.7key.jp/rfc/rfc4627.html]]¤ò¤ß¤ë¤È¡¢JavaScript¤äJSON¤ÏËÜÍè¤ÏUnicode¤«¡¢JavaScript::UCS((http://subtech.g.hatena.ne.jp/miyagawa/20060614/1150253107))¤ò»È¤Ã¤Æµ­½Ò¤¹¤ë¤Ù¤­¡¢¤é¤·¤¤¤Ç¤¹¡£
 - [[ECMA-262 3rd Edition:http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/6_Source_Text.html]]¤ä[[RFC 4627:http://www.7key.jp/rfc/rfc4627.html]]¤ò¤ß¤ë¤È¡¢JavaScript¤äJSON¤ÏËÜÍè¤ÏUnicode¤«¡¢JavaScript::UCS (( »²¹Í)http://subtech.g.hatena.ne.jp/miyagawa/20060614/1150253107 )) ¤ò»È¤Ã¤Æµ­½Ò¤¹¤ë¤Ù¤­¡¢¤é¤·¤¤¤Ç¤¹¡£
 - ¤Ê¤Î¤Ç¡¢gem¤ÎJSON¤ÏJavaScript::UCS¤ò»È¤Ã¤Æ·ë²Ì¤òÊÖ¤·¤Æ¤¯¤ì¤¿¤ï¤±¤Ç¤¹¤Í¡£
 - JavaScript::UCS¤Ï¡¢BMP¤òuXXXX¤Î·Á¼°¤Ë¤¹¤ë¤â¤Î¤é¤·¤¯¡¢BMP¤È¤¤¤¦¤Î¤Ï¤Ä¤Þ¤êUCS-2¤È¤¤¤¦Ê¸»ú¥³¡¼¥É¤é¤·¤¯¡¢¤³¤ì¤ÏUnicode¥Õ¥¡¥ß¥ê¡¼(?)¤Î°ì¤Ä¤é¤·¤¤¡£¤Ê¤Î¤ÇEUC-JP¤ò\uXXXX¤Î¤è¤¦¤Ê·Á¼°¤Ëľ¤·¤Æ¤â¤À¤á¤À¤í¤¦¡¢¤È»×¤¤¤Þ¤¹¡£
 - JavaScript::UCS¤Ï¡¢BMP¤òuXXXX¤Î·Á¼°¤Ë¤·¤¿¤â¤Î¤é¤·¤¯¡¢BMP¤È¤¤¤¦¤Î¤Ï¤Ä¤Þ¤êUCS-2¤È¤¤¤¦Ê¸»ú¥³¡¼¥É¤é¤·¤¯¡¢¤³¤ì¤ÏUnicode¥Õ¥¡¥ß¥ê¡¼(?)¤Î°ì¤Ä¤é¤·¤¤¡£¤Ê¤Î¤ÇEUC-JP¤ò\uXXXX¤Î¤è¤¦¤Ê·Á¼°¤Ëľ¤·¤Æ¤â¤À¤á¤À¤í¤¦¡¢¤È»×¤¤¤Þ¤¹¡£
 
 ** EUC-JP¤äShift_JIS¤Î¥Ú¡¼¥¸¤ËJSON¤òËä¤á¹þ¤à¤Ë¤Ï? [#z1b90ccb]
 - ¥Ö¥í¥°¥Ñ¡¼¥Ä¤Ê¤Î¤Ç¡¢Ëä¤á¹þ¤Þ¤ì¤ëWeb¥Ú¡¼¥¸¤Ï¡¢ÆüËܤÀ¤ÈEUC-JP, Shift_JIS, UTF-8¤Ê¤É¤¬¤¢¤ê¤¨¤Þ¤¹¡£¤Ê¤Î¤Ç¡¢Ä󶡤µ¤ì¤ëJSON¤â¤½¤ì¤¾¤ì¤Îʸ»ú¥³¡¼¥É¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
 - ÉáÃÊJavaScript¤ÎString¤òHTML¤ÎÃæ¤ËDOM¤ÇËä¤á¹þ¤ó¤À¤ê¤¹¤ë¾ì¹ç¤Ï¡¢String¤ÎÃæ¤Ë¤½¤ÎWeb¥Ú¡¼¥¸¤Îʸ»ú¥³¡¼¥É¤ÈƱ¤¸Ê¸»ú¥³¡¼¥É¤Îʸ»úÎó¤ò¤¤¤ì¤Æ¤ª¤±¤Ð¡¢¤¦¤Þ¤¯É½¼¨¤µ¤ì¤Þ¤¹¡£
 - ¤Ê¤Î¤Ç¡¢JSON¤â¤È¤¯¤Ë¤Ê¤ó¤Î²Ã¹©¤â¤»¤º¤Ë½Ð¤·¤Æ¤·¤Þ¤¦...
 ¥³¡¼¥É
 #blikimore
 ** EUC-JP¤äShift_JIS¤Î¥Ú¡¼¥¸¤ËJSON¤Ç¼õ¤±¼è¤Ã¤¿ÆâÍƤòËä¤á¹þ¤à¤Ë¤Ï? [#z1b90ccb]
 - ¥Ö¥í¥°¥Ñ¡¼¥Ä¤Ê¤Î¤Ç¡¢Ëä¤á¹þ¤Þ¤ì¤ëWeb¥Ú¡¼¥¸¤Ï¡¢ÆüËܤÀ¤ÈEUC-JP, Shift_JIS, UTF-8¤Ê¤É¤ÏºÇÄã¤Ç¤â¤ª¤µ¤¨¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
 - ÉáÃÊJavaScript¤ÎString¤òHTML¤ÎÃæ¤ËDOM¤ÇËä¤á¹þ¤ó¤À¤ê¤¹¤ë¾ì¹ç¤Ï¡¢String¤ÎÃæ¤Ë¤½¤ÎWeb¥Ú¡¼¥¸¤Îʸ»ú¥³¡¼¥É¤ÈƱ¤¸Ê¸»ú¥³¡¼¥É¤Îʸ»úÎó¤ò¤¤¤ì¤Æ¤ª¤±¤Ð¡¢¤¦¤Þ¤¯É½¼¨¤µ¤ì¤Þ¤¹¡£([[ECMA-262 3rd Edition:http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/6_Source_Text.html]]¤Ë¤è¤ë¤È¤³¤ì¤ÏËÜÅö¤ÏNG¤Ã¤Æ¤³¤È¤Ë¤Ê¤ë¤È»×¤¦¤Î¤Ç¤¹¤¬)
 - ¤Ê¤Î¤Ç¡¢¹Ó¶È¤Ç¤¹¤¬¡ÖJSON.support_unicode = false¡×¤Çʸ»úÎó¤ÎJavaScript::UCS¤Ø¤ÎÊÑ´¹¤òÍÞÀ©¤·¤Æ¡¢EUC-JP¤Ê¤É¤Îʸ»úÎó¤ò¤½¤Î¤Þ¤Þ½Ð¤·¤Æ¤·¤Þ¤¤¤Þ¤¹...
 -¥³¡¼¥É
  headers['Content-Type'] = "text/html;charset=euc-jp"
  require "json"
  require "kconv"
   JSON.support_unicode = false
  JSON.support_unicode = false
  render_text({"name" => "»ÖÅÄ Íµ¼ù".kconv(Kconv::EUC, Kconv::UTF8)}.to_json)
 ·ë²Ì
 -·ë²Ì
  {"name":"»ÖÅÄ Íµ¼ù"}
 ¤³¤ì¤ÇEUC-JP¤Î¥Ú¡¼¥¸¤ËËä¤á¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿ ^^;
 ¤³¤ì¤ÇEUC-JP¤Î¥Ú¡¼¥¸¤ËËä¤á¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿¡£
 -·ëÏÀ
 &color(red){JSONP¤ÎÄ󶡸µ¤ÏEUC-JP¤Ê¤É¤Ç¥µ¥¤¥È¤òºî¤Ã¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Î¤¿¤á¤Ë¡¢Ê¸»úÎó¤Îʸ»ú¥³¡¼¥É¤¬EUC-JP¤Î¥Ð¡¼¥¸¥ç¥ó¤âÍÑ°Õ¤¹¤ëɬÍפ¬¤¢¤ë...}; (¤â¤Ã¤È¤¤¤¤ÊýË¡¤Ê¤Î¤«¤Ê¤¡&sad;)
 
 #bliki(»ÖÅÄ)
 tag: [[Ruby on Rails>tag/Ruby on Rails]], [[JavaScript>tag/JavaScript]], [[JSON>tag/JSON]], [[JSONP>tag/JSONP]]
 #blikifooter(»ÖÅÄ)
 
 

¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

¥¢¡¼¥¯¥¦¥§¥Ö¤Î¥µ¡¼¥Ó¥¹¤ä¥½¥ê¥å¡¼¥·¥ç¥ó¤Ï¤³¤Á¤é