Can not "close won" an opportunity with currency different than US$

Strange behavior difficult to replicate.

  1. An opportunity was created with currency as pound and an amount of 7,000
  2. The user changes the amount for £8,485.00
  3. And change the status to close won… the following fatal error triggers

02/20/15 11:15:38 [5740][84ee998f-7072-d513-dcb9-51c451f9baaf][FATAL] Error inserting into table: sugarfeed: Query Failed:INSERT INTO sugarfeed (id,name,date_entered,date_modified,modified_user_id,created_by,description,deleted,assigned_user_id,related_module,related_id)
VALUES (N’d2830fbb-ca25-3aac-7985-54e75dadeaec’,N’{this.CREATED_BY} {SugarFeed.WON_OPPORTUNITY} [Opportunities:eb181b9c-8847-812f-00bd-54c21fa3eb2e:Hillingdon - Apex - Embosser - Stream] {SugarFeed.WITH} [Accounts:69C754D6-D894-403C-B037-280D4FA9B110:London Borough of Hillingdon] {SugarFeed.FOR} ‘,CONVERT(datetime,N’2015-02-20 16:15:37’,120),CONVERT(datetime,N’2015-02-20 16:15:37’,120),N’84ee998f-7072-d513-dcb9-51c451f9baaf’,N’84ee998f-7072-d513-dcb9-51c451f9baaf’,N’£8,485.00’,0,N’18ee5fef-da87-4a02-bc07-5489c9ef5ce9’,N’Opportunities’,N’eb181b9c-8847-812f-00bd-54c21fa3eb2e’)::: An error occurred translating the query string to UTF-16: No mapping for the Unicode character exists in the target multi-byte code page.

  1. If I copy the sql to sql editor, syntax is correct the the line execute…
  2. I could replicate if I use euro instead and get this error message

02/20/15 11:29:32 [6060][15e590af-c6c8-457e-2731-4c0f0456dd5a][FATAL] Error inserting into table: sugarfeed: Query Failed:INSERT INTO sugarfeed (id,name,date_entered,date_modified,modified_user_id,created_by,description,deleted,assigned_user_id,related_module,related_id)
VALUES (N’74d2e713-8bb7-0c7d-bd88-54e76002ba5a’,N’{this.CREATED_BY} {SugarFeed.WON_OPPORTUNITY} [Opportunities:eb181b9c-8847-812f-00bd-54c21fa3eb2e:Hillingdon - Apex / Embosser / Stream] {SugarFeed.WITH} [Accounts:69C754D6-D894-403C-B037-280D4FA9B110:London Borough of Hillingdon] {SugarFeed.FOR} ‘,CONVERT(datetime,N’2015-02-20 16:29:31’,120),CONVERT(datetime,N’2015-02-20 16:29:31’,120),N’15e590af-c6c8-457e-2731-4c0f0456dd5a’,N’15e590af-c6c8-457e-2731-4c0f0456dd5a’,N’‚¬11,514.87’,0,N’18ee5fef-da87-4a02-bc07-5489c9ef5ce9’,N’Opportunities’,N’eb181b9c-8847-812f-00bd-54c21fa3eb2e’)::: An error occurred translating the query string to UTF-16: No mapping for the Unicode character exists in the target multi-byte code page.

… but in this case we see that the euro sign was splitte in 2 characters, a comma and another one…

  1. The only way to bypass was to set the opportunity to default currency $US and save
  2. Then change status to “close won” and it is ok, and edit again to change the currency to pound, with no problem
  3. I tried with other opportunities and no problem, only with this one so far.
    The environment is SuiteCRM 7.1.4, running on IIs, SuiteCRM config files refers to UTF-8 all the way.
    data on MS-SQL 2012, data base has SQL_Latin1_General_CP1_CI_AS collation.
    Another strange thing is that sugarfeed are not even enabled.

Any ideas?