{"id":343,"date":"2011-02-12T12:03:27","date_gmt":"2011-02-12T02:03:27","guid":{"rendered":"http:\/\/www.desiderata.com.au\/blog\/?page_id=343"},"modified":"2011-09-09T11:47:36","modified_gmt":"2011-09-09T01:47:36","slug":"upgrading-legacy-code-to-delphi-2010-and-later-managing-unicode","status":"publish","type":"page","link":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343","title":{"rendered":"Upgrading legacy code to Delphi 2009 and later &#8211; managing Unicode"},"content":{"rendered":"<p>Versions of Delphi prior to Delphi 2009 were not Unicode compatible.<\/p>\n<p>Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings.<\/p>\n<p>Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability, so only convert the String reference to AnsiString if there is likely to be issues with it being a Unicode string.<\/p>\n<h3>The following are some resources to assist:<\/h3>\n<ul>\n<li><a href=\"http:\/\/edn.embarcadero.com\/article\/images\/38980\/Delphi_and_Unicode.pdf\">Marco Cantu&#8217;s White paper (pdf)<\/a><\/li>\n<li><a href=\"http:\/\/edn.embarcadero.com\/article\/38437\">Delphi in a Unicode World Part I: What is Unicode, Why do you need it, and How do you work with it in Delphi?<\/a><\/li>\n<li><a href=\"http:\/\/edn.embarcadero.com\/article\/38498\">Delphi in a Unicode World Part II: New RTL Features and Classes to Support Unicode<\/a><\/li>\n<li><a href=\"http:\/\/edn.embarcadero.com\/article\/38693\">Delphi in a Unicode World Part III<\/a><\/li>\n<li><a href=\"http:\/\/forms.embarcadero.com\/forms\/AMUSCA1003UnicodeJensenWebinarRecording\">Migrating Legacy Applications to Unicode-enabled Delphi 2010 with Cary Jensen<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to &hellip; <a href=\"https:\/\/www.desiderata.com.au\/blog\/?page_id=343\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":50,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-343","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.desiderata.com.au\/blog\/?page_id=343\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Desiderata software\u00ae and consultancy blog | specialising in clinical database solutions for Australian hospitals\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Upgrading legacy code to Delphi 2009 and later \u2013 managing Unicode | Desiderata software\u00ae and consultancy blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.desiderata.com.au\/blog\/?page_id=343\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2011-02-12T02:03:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2011-09-09T01:47:36+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Upgrading legacy code to Delphi 2009 and later \u2013 managing Unicode | Desiderata software\u00ae and consultancy blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability,\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=343#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=50#listItem\",\"name\":\"Delphi\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=50#listItem\",\"position\":2,\"name\":\"Delphi\",\"item\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=50\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=343#listItem\",\"name\":\"Upgrading legacy code to Delphi 2009 and later &#8211; managing Unicode\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=343#listItem\",\"position\":3,\"name\":\"Upgrading legacy code to Delphi 2009 and later &#8211; managing Unicode\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=50#listItem\",\"name\":\"Delphi\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/#organization\",\"name\":\"Desiderata software\\u00ae and consultancy blog\",\"description\":\"specialising in clinical database solutions for Australian hospitals\",\"url\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=343#webpage\",\"url\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=343\",\"name\":\"Upgrading legacy code to Delphi 2009 and later \\u2013 managing Unicode | Desiderata software\\u00ae and consultancy blog\",\"description\":\"Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability,\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/?page_id=343#breadcrumblist\"},\"datePublished\":\"2011-02-12T12:03:27+10:00\",\"dateModified\":\"2011-09-09T11:47:36+10:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/\",\"name\":\"Desiderata software\\u00ae and consultancy blog\",\"description\":\"specialising in clinical database solutions for Australian hospitals\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.desiderata.com.au\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Upgrading legacy code to Delphi 2009 and later \u2013 managing Unicode | Desiderata software\u00ae and consultancy blog","description":"Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability,","canonical_url":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.desiderata.com.au\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/www.desiderata.com.au\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.desiderata.com.au\/blog\/?page_id=50#listItem","name":"Delphi"}},{"@type":"ListItem","@id":"https:\/\/www.desiderata.com.au\/blog\/?page_id=50#listItem","position":2,"name":"Delphi","item":"https:\/\/www.desiderata.com.au\/blog\/?page_id=50","nextItem":{"@type":"ListItem","@id":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343#listItem","name":"Upgrading legacy code to Delphi 2009 and later &#8211; managing Unicode"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.desiderata.com.au\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343#listItem","position":3,"name":"Upgrading legacy code to Delphi 2009 and later &#8211; managing Unicode","previousItem":{"@type":"ListItem","@id":"https:\/\/www.desiderata.com.au\/blog\/?page_id=50#listItem","name":"Delphi"}}]},{"@type":"Organization","@id":"https:\/\/www.desiderata.com.au\/blog\/#organization","name":"Desiderata software\u00ae and consultancy blog","description":"specialising in clinical database solutions for Australian hospitals","url":"https:\/\/www.desiderata.com.au\/blog\/"},{"@type":"WebPage","@id":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343#webpage","url":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343","name":"Upgrading legacy code to Delphi 2009 and later \u2013 managing Unicode | Desiderata software\u00ae and consultancy blog","description":"Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability,","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.desiderata.com.au\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343#breadcrumblist"},"datePublished":"2011-02-12T12:03:27+10:00","dateModified":"2011-09-09T11:47:36+10:00"},{"@type":"WebSite","@id":"https:\/\/www.desiderata.com.au\/blog\/#website","url":"https:\/\/www.desiderata.com.au\/blog\/","name":"Desiderata software\u00ae and consultancy blog","description":"specialising in clinical database solutions for Australian hospitals","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.desiderata.com.au\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Desiderata software\u00ae and consultancy blog | specialising in clinical database solutions for Australian hospitals","og:type":"article","og:title":"Upgrading legacy code to Delphi 2009 and later \u2013 managing Unicode | Desiderata software\u00ae and consultancy blog","og:description":"Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability,","og:url":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343","article:published_time":"2011-02-12T02:03:27+00:00","article:modified_time":"2011-09-09T01:47:36+00:00","twitter:card":"summary","twitter:title":"Upgrading legacy code to Delphi 2009 and later \u2013 managing Unicode | Desiderata software\u00ae and consultancy blog","twitter:description":"Versions of Delphi prior to Delphi 2009 were not Unicode compatible. Upgrading legacy code to Delphi 2009 and later requires code changes to ensure it is compatible with the new default Unicode strings. Although one could change all references to String to AnsiString, this is probably not a great idea as you lose Unicode capability,"},"aioseo_meta_data":{"post_id":"343","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-12-06 10:55:31","updated":"2026-10-23 02:57:38","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.desiderata.com.au\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.desiderata.com.au\/blog\/?page_id=50\" title=\"Delphi\">Delphi<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tUpgrading legacy code to Delphi 2009 and later \u2013 managing Unicode\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.desiderata.com.au\/blog\/"},{"label":"Delphi","link":"https:\/\/www.desiderata.com.au\/blog\/?page_id=50"},{"label":"Upgrading legacy code to Delphi 2009 and later &#8211; managing Unicode","link":"https:\/\/www.desiderata.com.au\/blog\/?page_id=343"}],"_links":{"self":[{"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=\/wp\/v2\/pages\/343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=343"}],"version-history":[{"count":13,"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=\/wp\/v2\/pages\/343\/revisions"}],"predecessor-version":[{"id":550,"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=\/wp\/v2\/pages\/343\/revisions\/550"}],"up":[{"embeddable":true,"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=\/wp\/v2\/pages\/50"}],"wp:attachment":[{"href":"https:\/\/www.desiderata.com.au\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}