{"action":"created","issue":{"url":"https://api.github.com/repos/recalbox/recalbox-emulationstation/issues/87","repository_url":"https://api.github.com/repos/recalbox/recalbox-emulationstation","labels_url":"https://api.github.com/repos/recalbox/recalbox-emulationstation/issues/87/labels{/name}","comments_url":"https://api.github.com/repos/recalbox/recalbox-emulationstation/issues/87/comments","events_url":"https://api.github.com/repos/recalbox/recalbox-emulationstation/issues/87/events","html_url":"https://github.com/recalbox/recalbox-emulationstation/pull/87","id":133491608,"number":87,"title":"Use locale-aware uppercase functions","user":{"login":"igungor","id":8654,"avatar_url":"https://avatars.githubusercontent.com/u/8654?v=3","gravatar_id":"","url":"https://api.github.com/users/igungor","html_url":"https://github.com/igungor","followers_url":"https://api.github.com/users/igungor/followers","following_url":"https://api.github.com/users/igungor/following{/other_user}","gists_url":"https://api.github.com/users/igungor/gists{/gist_id}","starred_url":"https://api.github.com/users/igungor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igungor/subscriptions","organizations_url":"https://api.github.com/users/igungor/orgs","repos_url":"https://api.github.com/users/igungor/repos","events_url":"https://api.github.com/users/igungor/events{/privacy}","received_events_url":"https://api.github.com/users/igungor/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-14T01:43:27Z","updated_at":"2016-02-14T07:01:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/recalbox/recalbox-emulationstation/pulls/87","html_url":"https://github.com/recalbox/recalbox-emulationstation/pull/87","diff_url":"https://github.com/recalbox/recalbox-emulationstation/pull/87.diff","patch_url":"https://github.com/recalbox/recalbox-emulationstation/pull/87.patch"},"body":"This PR is an attempt to solve the incorrect uppercase operations in EmulationStation for 2+ byte-wide characters, such as \"ü\" and \"ç\" in \"Türkçe\".\r\n\r\nCurrent strToUpper helper functions in Util.cpp source file are very optimistic about the\r\nlocale. They assume that each character in a string is 1-byte wide, thus fails to make 2+ byte-wide characters uppercase.\r\n\r\nPlease see the images below:\r\n\r\nThis one is from the current state of EmulationStation on Turkish locale. See the lowercase letters. Even though the translation is correct, strToUpper is failed for specific characters.\r\n\r\n![tr-locale-incorrect](https://cloud.githubusercontent.com/assets/8654/13031200/edb2bbfe-d2cc-11e5-9f55-c15e3633d305.png)\r\n\r\nThis is from the applied patch with the correct behaviour:\r\n\r\n![tr-locale-correct](https://cloud.githubusercontent.com/assets/8654/13031201/f26a2b46-d2cc-11e5-8b29-da5d4e43f0bb.png)\r\n"},"comment":{"url":"https://api.github.com/repos/recalbox/recalbox-emulationstation/issues/comments/183839983","html_url":"https://github.com/recalbox/recalbox-emulationstation/pull/87#issuecomment-183839983","issue_url":"https://api.github.com/repos/recalbox/recalbox-emulationstation/issues/87","id":183839983,"user":{"login":"digitalLumberjack","id":1128425,"avatar_url":"https://avatars.githubusercontent.com/u/1128425?v=3","gravatar_id":"","url":"https://api.github.com/users/digitalLumberjack","html_url":"https://github.com/digitalLumberjack","followers_url":"https://api.github.com/users/digitalLumberjack/followers","following_url":"https://api.github.com/users/digitalLumberjack/following{/other_user}","gists_url":"https://api.github.com/users/digitalLumberjack/gists{/gist_id}","starred_url":"https://api.github.com/users/digitalLumberjack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/digitalLumberjack/subscriptions","organizations_url":"https://api.github.com/users/digitalLumberjack/orgs","repos_url":"https://api.github.com/users/digitalLumberjack/repos","events_url":"https://api.github.com/users/digitalLumberjack/events{/privacy}","received_events_url":"https://api.github.com/users/digitalLumberjack/received_events","type":"User","site_admin":false},"created_at":"2016-02-14T07:01:08Z","updated_at":"2016-02-14T07:01:08Z","body":"Not a random game you choose there... Thans for the PR :)\r\nI see with @nadenislamarre if it's ok with its current work and i merge that quicly. Thanks"}}