{"id":259,"date":"2003-10-14T00:00:00","date_gmt":"2003-10-13T22:00:00","guid":{"rendered":"https:\/\/wwwneu.strehle.de\/tim\/weblog\/archives\/2003\/10\/14\/192\/"},"modified":"2003-10-14T00:00:00","modified_gmt":"2003-10-13T22:00:00","slug":"192","status":"publish","type":"post","link":"https:\/\/www.strehle.de\/tim\/weblog\/archives\/2003\/10\/14\/192\/","title":{"rendered":"On the Goodness of Unicode"},"content":{"rendered":"<p>Tim Bray <a href=\"http:\/\/tbray.org\/ongoing\/When\/200x\/2003\/04\/06\/Unicode\" title=\"ongoing - On the Goodness of Unicode\">On the Goodness of Unicode<\/a>:<\/p>\n<ul>\n<li>&#8222;Embrace Unicode, don&#8217;t fight it; it&#8217;s probably the right thing to do, and if it weren&#8217;t you&#8217;d probably have to anyhow.<\/li>\n<li>Inside your software, store text as UTF-8 or UTF-16; that is to say, pick one of the two and stick with it.<\/li>\n<li>Interchange data with the outside world using XML whenever possible; this makes a whole bunch of potential problems go away.<\/li>\n<li>Try to make your application browser-based rather than write your own client; the browsers are getting really quite good at dealing with the texts of the world.<\/li>\n<li>If you&#8217;re using someone else&#8217;s library code (and of course you are), assume its Unicode handling is broken until proved to be correct.<\/li>\n<li>If you&#8217;re doing search, try to hand the linguistic and character-handling problems off to someone who understands them.&#8220;<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Tim Bray On the Goodness of Unicode: &#8222;Embrace Unicode, don&#8217;t fight it; it&#8217;s probably the right thing to do, and if it weren&#8217;t you&#8217;d probably have to anyhow. Inside your software, store text as UTF-8 or UTF-16; that is to say, pick one of the two and stick with it. Interchange data with the outside [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_share_on_mastodon":"0"},"categories":[1],"tags":[],"class_list":["post-259","post","type-post","status-publish","format-standard","hentry","category-weblog"],"share_on_mastodon":{"url":"","error":""},"_links":{"self":[{"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/posts\/259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/comments?post=259"}],"version-history":[{"count":0,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/posts\/259\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/media?parent=259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/categories?post=259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.strehle.de\/tim\/wp-json\/wp\/v2\/tags?post=259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}