Datagridview波斯语格式 [英] Datagridview Persian Formatting
问题描述
这是图片:
存储在字符串中的所有字符串实际上都是Unicode.Unicode。阅读: .Net和C#中的字符串和绝对最小的每个软件开发人员绝对必须了解Unicode和字符集(No Excuses!)
编辑:我想你希望转换功能自动将\x11更改为\\\◀,但这里的问题是\x11几乎在任何编码中都有效,差异通常会开始字符\x80,所以即使你这样做,Convert函数也会维护它。
string reEncodedString = null;
byte [] unicodeBytes = UnicodeEncoding.Unicode.GetBytes(value);
byte [] sourceBytes = Encoding.Convert(Encoding.Unicode,
sourceEncoding,unicodeBytes);
您可以在 unicode.org 从CP850到Unicode的映射。所以,为了进行这种转换,您将不得不手动更改这些字符。
您还要确保如果要使用波斯字符,则使此行代码
System.Globalization.CultureInfo language = new System.Globalization.CultureInfo(fa-ir);
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(language);
并将Characters设为英文使用该位代码
System.Globalization.CultureInfo language = new System.Globalization.CultureInfo(en-us);
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(language);
I'm trying to print a string in a cell of my datagridview which includes both Persian and English characters or even from any language. When I print this value in the specified cell it became somehow badly formatted.
Here is the picture:
All the strings stored in string are in fact Unicode.Unicode. Read: Strings in .Net and C# and The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
Edit: I suppose that you want the Convert function to automatically change \x11 to \u25c0, but the problem here is that \x11 is valid in almost any encoding, the differences usually start in character \x80, so the Convert function will maintain it even if you do that:
string reEncodedString = null;
byte[] unicodeBytes = UnicodeEncoding.Unicode.GetBytes(value);
byte[] sourceBytes = Encoding.Convert(Encoding.Unicode,
sourceEncoding, unicodeBytes);
You can see in unicode.org the mappings from CP850 to Unicode. So, for this conversion to happen you will have to change these characters manually.
you want to also make sure that if you are going to use Farsi Characters make this line of code
System.Globalization.CultureInfo language = new System.Globalization.CultureInfo("fa-ir");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(language);
and to set the Characters back to English use this bit of code
System.Globalization.CultureInfo language = new System.Globalization.CultureInfo("en-us");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(language);
这篇关于Datagridview波斯语格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!