Unable to translate bytes [FC] at index 35 from specified code page to Unicode

前端 未结 4 458
你的背包
你的背包 2021-01-02 06:56

I\'m trying to send an object like this to my REST API(built with asp net core)

{
    \"firstName\":\"tersü\",
    \"lastName\":\"asda\"
}

相关标签:
4条回答
  • 2021-01-02 07:09

    Not a direct solution to the question asked - but a solution for a related problem:

    I was having this error message when downgrading a Winforms application from Net.4.0 to Net.2.0 (because of 3rd party form control issues)

    Every instance of an ImageList object that was specified in the forms designer was affected.

    I cut all such instances out of the RESX file and out of the Designer code, made them private objects, and did the required initialization in the Form_Load event.

    No problems since then in Net.2.0 or Net 4.0 configurations.

    0 讨论(0)
  • 2021-01-02 07:10

    You are sending your string encoded in utf-16, but telling (in the Content-Type header's charset) it is utf-8.

    The bytes for tersü in utf-8 are:

    74,65,72,73,C3,BC
    

    However tersü (in utf-16) contains the bytes (notice the FC there):

    74,0,65,0,72,0,73,0,FC,0
    

    (Check it in this fiddle)

    So it just can't understand it. So either convert your string to utf-8 in your client before sending it, or set the Content-Type charset to utf-16 .

    0 讨论(0)
  • 2021-01-02 07:11

    I was having this error when working with SSRS on a .rdl file. The solution was that I needed to save the file as an unsigned UTF-8 file rather than a signed UTF-8 file. Here is how you do that in Visual Studio:

    1. Open your XML code by going to View -> Code, or pressing F7
    2. While viewing your XML code page, select File -> Advanced Save Options
    3. In the resulting pop-up windows select, "Unicode (UTF-8 without signature)..."
    4. Click OK

    That fixed the problem for me, I hope it helps!

    0 讨论(0)
  • 2021-01-02 07:19

    Although the Content-Type is charset UTF-8 the received byte code FC denotes the extended ASCII character 252 which represents the umlaut "ü".

    In a UTF-8 encoding the umlaut "ü" consists of two bytes. So there is a mismatch between the given encoding header and the transmitted data. So you have to check the code which generates the request.

    0 讨论(0)
提交回复
热议问题