To see how far Ruby's Unicode support has come, I tested every string method to see which ones violate the principle of least surprise. The results are presented as a handy table that you can reference to see which string manipulation methods are Unicode-unfriendly. Among the new features shipped with Ruby 2.4 is improved Unicode support. Specifically, methods like upcase and downcase work as expe
![Testing Ruby's Unicode Support](https://cdn-ak-scissors.b.st-hatena.com/image/square/374a43210055b837d0c59fc976ea110168ce00ba/height=288;version=1;width=512/https%3A%2F%2Fondemand.bannerbear.com%2Fsignedurl%2FnZ52rq9EkQ6V3bp1Lj%2Fimage.jpg%3Fmodifications%3DW3sibmFtZSI6InRpdGxlIiwidGV4dCI6IlRlc3RpbmcgUnVieSdzIFVuaWNvZGUgU3VwcG9ydCIsImNvbG9yIjpudWxsLCJiYWNrZ3JvdW5kIjpudWxsfSx7Im5hbWUiOiJoZWFkc2hvdCIsImltYWdlX3VybCI6Imh0dHBzOi8vd3d3LmhvbmV5YmFkZ2VyLmlvL2ltYWdlcy9oZWFkc2hvdHMvc3RhcnJoLnBuZyJ9LHsibmFtZSI6InN1bW1hcnkiLCJ0ZXh0IjoiVG8gc2VlIGhvdyBmYXIgUnVieSdzIFVuaWNvZGUgc3VwcG9ydCBoYXMgY29tZSwgSSB0ZXN0ZWQgZXZlcnkgc3RyaW5nIG1ldGhvZCB0byBzZWUgd2hpY2ggb25lcyB2aW9sYXRlIHRoZSBwcmluY2lwbGUgb2YgbGVhc3Qgc3VycHJpc2UuIFRoZSByZXN1bHRzIGFyZSBwcmVzZW50ZWQgYXMgYSBoYW5keSB0YWJsZSB0aGF0IHlvdSBjYW4gcmVmZXJlbmNlIHRvIHNlZSB3aGljaCBzdHJpbmcgbWFuaXB1bGF0aW9uIG1ldGhvZHMgYXJlIFVuaWNvZGUtdW5mcmllbmRseS4iLCJjb2xvciI6bnVsbCwiYmFja2dyb3VuZCI6bnVsbH0seyJuYW1lIjoiYXV0aG9yIiwidGV4dCI6IkJ5ICpTdGFyciBIb3JuZSoiLCJjb2xvciI6bnVsbCwiYmFja2dyb3VuZCI6bnVsbH0seyJuYW1lIjoidGFncyIsInRleHQiOiIjcnVieSIsImNvbG9yIjpudWxsLCJiYWNrZ3JvdW5kIjpudWxsfV0%26s%3D8a73c04a4e9a07d4a074699ea17af3f5d416f6169048f8cae7c79e6f42ec675a)