Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7693489
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T21:06:03+00:00 2026-05-31T21:06:03+00:00

Apologies, my question may be incorrect, but CLIENT_LOCALE seems like the current most-likely culprit:

  • 0

Apologies, my question may be incorrect, but CLIENT_LOCALE seems like the current most-likely culprit:

I’ve created a unicode database on my Informix server. We’re pretty sure (but frankly, not absolutely certain) that its DB_LOCALE is set at en_US.57372, because that’s what’s returned for the query Select * from sysmaster:informix.sysdbslocale for that database. I’ve created a table in the unicode database, containing a char(20) column.

I have created a small dotnet program to connect to, INSERT to, and read back from my unicode table. I’ve done some testing and have specified a connection string including DB_LOCALE=en_US.57372 and have successfully inserted some unicode strings featuring accented characters outside the Latin1 set.

I’ve now moved on to testing some of the weirder-looking characters I’ve found on this random unicode character page. When I try these characters, though, I often receive a ERROR [22001] [Informix .NET provider]String data right truncation. message, even when trying to send single characters.

I don’t understand why I would be getting this error when trying to insert single characters into a char(20) column, even if they are for multi-byte unicode characters.

As far as I’m concerned, I’m sending unicode characters and the database is receiving unicode characters. I’ve been through my connection code and verified that I am constructing an IFXCommand which successfully contains those characters I’m trying to send.

The only place I don’t currently have any certainty over is my CLIENT_LOCALE, which I currently have not set, because I don’t know what it should be.

So, my question is: If the problem is likely to be my lack of a CLIENT_LOCALE setting, where can I find what my CLIENT_LOCALE should be? Alternatively, if I’m stupidly missing the real problem, can someone explain where I’m screwing up?

EDIT: I’ve just had a thought. I tried inserting a character ỉ which I thought surely should have worked, but it didn’t. I then tested the string [five spaces]ỉ[five spaces] and that worked. No idea why.

EDIT2: “ᓌ” fails. ” ᓌ ” works. “ᓌᓌ” fails. ” ᓌᓌᓌ ” works. ” ᓌᓌᓌᓌ ” fails. The only thing that stands out to me on the character’s fileformat page is that this is a 3-byte UTF-8 character, whereas it’s a 2-byte UTF-16 character. Even then, though, ” ᓌᓌᓌᓌ ” should still fit within a char(20) field, to say nothing of the smaller strings which had failed. Can’t work this out at all…

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T21:06:04+00:00Added an answer on May 31, 2026 at 9:06 pm

    So, here’s my “solution”.

    I took the list of accented unicode characters found at http://lehelk.com/2011/05/06/script-to-remove-diacritics/

    I then removed from that list all of the characters which are found in , then replaced everything which does not exist in ISO-8859-1 with a ?. It’s an nasty, scorched-earth solution, but dragging our database kicking and screaming into the early 1990s doesn’t seem like it’s on the cards.

    Public Shared Function ParseTo819(ByRef sendString As String) As String
        Static x As Dictionary(Of String, String)
        If x Is Nothing Then
            x = New Dictionary(Of String, String)
            ''Basic list of diacriticals found at http://lehelk.com/2011/05/06/script-to-remove-diacritics/
            ''Edited to allow IBM891-compatible characters
            x.Add("A", "[\u0041\u24B6\uFF21\u1EA6\u1EA4\u1EAA\u1EA8\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u01DE\u1EA2\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]")
            x.Add("AA", "[\uA732]")
            x.Add("AE", "[\u01FC\u01E2]")
            x.Add("AO", "[\uA734]")
            x.Add("AU", "[\uA736]")
            x.Add("AV", "[\uA738\uA73A]")
            x.Add("AY", "[\uA73C]")
            x.Add("B", "[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]")
            x.Add("C", "[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u1E08\u0187\u023B\uA73E]")
            x.Add("D", "[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]")
            x.Add("DZ", "[\u01F1\u01C4]")
            x.Add("Dz", "[\u01F2\u01C5]")
            x.Add("E", "[\u0045\u24BA\uFF25\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]")
            x.Add("F", "[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]")
            x.Add("G", "[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]")
            x.Add("H", "[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]")
            x.Add("I", "[\u0049\u24BE\uFF29\u0128\u012A\u012C\u0130\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]")
            x.Add("J", "[\u004A\u24BF\uFF2A\u0134\u0248]")
            x.Add("K", "[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]")
            x.Add("L", "[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]")
            x.Add("LJ", "[\u01C7]")
            x.Add("Lj", "[\u01C8]")
            x.Add("M", "[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]")
            x.Add("N", "[\u004E\u24C3\uFF2E\u01F8\u0143\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]")
            x.Add("NJ", "[\u01CA]")
            x.Add("Nj", "[\u01CB]")
            x.Add("O", "[\u004F\u24C4\uFF2F\u1ED2\u1ED0\u1ED6\u1ED4\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u01FE\u0186\u019F\uA74A\uA74C]")
            x.Add("OI", "[\u01A2]")
            x.Add("OO", "[\uA74E]")
            x.Add("OU", "[\u0222]")
            x.Add("P", "[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]")
            x.Add("Q", "[\u0051\u24C6\uFF31\uA756\uA758\u024A]")
            x.Add("R", "[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]")
            x.Add("S", "[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]")
            x.Add("T", "[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]")
            x.Add("TZ", "[\uA728]")
            x.Add("U", "[\u0055\u24CA\uFF35\u0168\u1E78\u016A\u1E7A\u016C\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]")
            x.Add("V", "[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]")
            x.Add("VY", "[\uA760]")
            x.Add("W", "[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]")
            x.Add("X", "[\u0058\u24CD\uFF38\u1E8A\u1E8C]")
            x.Add("Y", "[\u0059\u24CE\uFF39\u1EF2\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]")
            x.Add("Z", "[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]")
            x.Add("a", "[\u0061\u24D0\uFF41\u1E9A\u1EA7\u1EA5\u1EAB\u1EA9\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u01DF\u1EA3\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]")
            x.Add("aa", "[\uA733]")
            x.Add("ae", "[\u01FD\u01E3]")
            x.Add("ao", "[\uA735]")
            x.Add("au", "[\uA737]")
            x.Add("av", "[\uA739\uA73B]")
            x.Add("ay", "[\uA73D]")
            x.Add("b", "[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]")
            x.Add("c", "[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u1E09\u0188\u023C\uA73F\u2184]")
            x.Add("d", "[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]")
            x.Add("dz", "[\u01F3\u01C6]")
            x.Add("e", "[\u0065\u24D4\uFF45\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]")
            x.Add("f", "[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]")
            x.Add("g", "[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]")
            x.Add("h", "[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]")
            x.Add("hv", "[\u0195]")
            x.Add("i", "[\u0069\u24D8\uFF49\u0129\u012B\u012D\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]")
            x.Add("j", "[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]")
            x.Add("k", "[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]")
            x.Add("l", "[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]")
            x.Add("lj", "[\u01C9]")
            x.Add("m", "[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]")
            x.Add("n", "[\u006E\u24DD\uFF4E\u01F9\u0144\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]")
            x.Add("nj", "[\u01CC]")
            x.Add("o", "[\u006F\u24DE\uFF4F\u1ED3\u1ED1\u1ED7\u1ED5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u01FF\u0254\uA74B\uA74D\u0275]")
            x.Add("oi", "[\u01A3]")
            x.Add("ou", "[\u0223]")
            x.Add("oo", "[\uA74F]")
            x.Add("p", "[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]")
            x.Add("q", "[\u0071\u24E0\uFF51\u024B\uA757\uA759]")
            x.Add("r", "[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]")
            x.Add("s", "[\u0073\u24E2\uFF53\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]")
            x.Add("t", "[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]")
            x.Add("tz", "[\uA729]")
            x.Add("u", "[\u0075\u24E4\uFF55\u0169\u1E79\u016B\u1E7B\u016D\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]")
            x.Add("v", "[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]")
            x.Add("vy", "[\uA761]")
            x.Add("w", "[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]")
            x.Add("x", "[\u0078\u24E7\uFF58\u1E8B\u1E8D]")
            x.Add("y", "[\u0079\u24E8\uFF59\u1EF3\u0177\u1EF9\u0233\u1E8F\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]")
            x.Add("z", "[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]")
        End If
        For Each keyIn In x.Keys
            sendString = Regex.Replace(sendString, x(keyIn), keyIn)
        Next
        sendString = sendString.Replace("€", "E")
        'Having replaced all recognised diacritical characters with plain letters, replace all remaining non-IBM819 characters with question marks
        sendString = Regex.Replace(sendString, "[^0-9a-zA-Z !""#$%&'()*+,-./:;<=>?@\[\\\]^_`{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\s]", "?")
    
        Return sendString
    End Function
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Sorry for what is most likely a very 'newbie' question, but I'm having a
This may be a very simplistic question, so apologies in advance, but I am
Apologies in advance for the long-winded question. I'm really a database programmer, but have
This may be a bit of an abstract question, so apologies in advance. I
I'm pretty new to lisp, so apologies for what may be a simple question,
Straightforward question - apologies if it is a duplicate, but I can't find the
Apologies for this question but I am a bit of a noob with Delphi.
Apologies if my question is a little badly worded but I am not quite
It may be difficult to explain what I am after, apologies if the question
Apologies for what may very well be a stupid question. I'm just intrigued as

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.