Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C更改非unicode语言或更改位置_C#_.net_Windows_Winforms - Fatal编程技术网

C# C更改非unicode语言或更改位置

C# C更改非unicode语言或更改位置,c#,.net,windows,winforms,C#,.net,Windows,Winforms,我通过套接字向我的客户发送一些文字。这只是文本。但有时我有问题。当我的某个客户端在套接字上收到我发送的文本时。他们认为这篇文章不正确。代码级别的含义不正确。他们有问题,比如这个土耳其语字符,所以他们没有收到我的文本。当我将此用户位置信息更改为region and language->administrative->change system locale=turkish(在windows 7上)或change non-unicode language=turkish(更改非unicode语言)时

我通过套接字向我的客户发送一些文字。这只是文本。但有时我有问题。当我的某个客户端在套接字上收到我发送的文本时。他们认为这篇文章不正确。代码级别的含义不正确。他们有问题,比如这个土耳其语字符,所以他们没有收到我的文本。当我将此用户位置信息更改为region and language->administrative->change system locale=turkish(在windows 7上)或change non-unicode language=turkish(更改非unicode语言)时,问题消失了

我怎样才能解决这个问题。我读了一些这方面的文章,它说你不能在代码上改变这一点。那么我如何才能为这个问题创建一个解决方案

多谢各位
致意

您可以如下设置当前线程的CultureInfo:

CultureInfo ci = new CultureInfo("tr-TR");
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;

不要忘记对每个新线程执行此操作。您可以按如下方式设置当前线程的CultureInfo:

CultureInfo ci = new CultureInfo("tr-TR");
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;

通过套接字发送字符串时,不要忘记对每个新线程执行此操作。如何将其转换为字节,接收器如何将这些字节转换回字符串?您遇到的问题是发送方使用的字符编码与接收方使用的字符编码不匹配。将字符串转换为字节时,应该使用一个内置的编码类,如UTF8Encoding

您可能希望将输入分块读取到缓冲区中,然后从那里通过套接字发送,但这是一般的想法。另一端的接收器应使用相同的编码将接收到的字节转换回字符串


有关编码的详细信息。

当您通过套接字发送字符串时,如何将其转换为字节,以及接收器如何将这些字节转换回字符串?您遇到的问题是发送方使用的字符编码与接收方使用的字符编码不匹配。将字符串转换为字节时,应该使用一个内置的编码类,如UTF8Encoding

您可能希望将输入分块读取到缓冲区中,然后从那里通过套接字发送,但这是一般的想法。另一端的接收器应使用相同的编码将接收到的字节转换回字符串


有关编码的详细信息。

Thread.CurrentThread.CurrentCulture=new CultureInfo TR;Thread.CurrentThread.CurrentUICulture=newCultureInfotr;我试试这个。这只会更改系统日期时间格式等。这对于我的代码来说是不够的。问题continueThread.CurrentThread.CurrentCulture=new CultureInfo TR;Thread.CurrentThread.CurrentUICulture=newCultureInfotr;我试试这个。这只会更改系统日期时间格式等。这对于我的代码来说是不够的。问题是否继续