C# Ansi Türkçe Karakter Sorunu
-
Merhaba arkadaşlar yine yeniden bir sorunla karşınızdayım.
Sorunum nokta vuruşlu yazıcıya raw data gönderirken türkçe karakterlerin farklı şekillerde çıkması replace yapmak istemiyorum (İ yi I gibi)
acaba çözümü bilen varmı kullandığım class ansii charset kullanıyor yardımcı olursanız sevinirim bil hassa unbalanced hocam :) yine help.
projeyi şimdi upload yapıp atıyorum buraya.
-
http://www.dosya.tc/server26/g5vKDz/test.rar.html
proje burada amaç gönderdiğimde türkçe karakter hatası vermesin, tr karakterleride kullanabileyim.
-
-
nessaj bunu yazdı
Hocam benmi yanlış anladım bilmiyorum ama oradaki cevap ta bunların kaldırılması ile ilgili paylaşım yapılmış sanki.
-
projene henüz bakmadım ama Encoding.Default seçeneğini dene istersen ya da utf-8
-
unbalanced bunu yazdı
projene henüz bakmadım ama Encoding.Default seçeneğini dene istersen ya da utf-8
kullandığım class ta encoding yapamıyorum :)
-
baktım hocam projeye ilgili sadece bi iki fonksyion gördüm. deneme şansım olmadı, yazıcım yok, sanal yazıcıda print etmedi bi türlü
IntPtr buf = Marshal.StringToCoTaskMemAnsi(outputstring);
yerine bunları sırayla dene
StringToBSTR, StringToCoTaskMemAuto, StringToCoTaskMemUni, StringToHGlobalAnsi, StringToHGlobalAuto, StringToHGlobalUni
mesela
IntPtr buf = Marshal.StringToCoTaskMemAuto(outputstring);
-
RebelliouS_SouL bunu yazdınessaj bunu yazdı
Hocam benmi yanlış anladım bilmiyorum ama oradaki cevap ta bunların kaldırılması ile ilgili paylaşım yapılmış sanki.
noktalı harflerdeki noktaları kaldırıyor (i istisna) örnek olarak, ç leri c ye çeviriyor, bunu istemiyormusun?
-
nessaj in verdiği linkteki
static string RemoveDiacritics(string stIn) { string stFormD = stIn.Normalize(NormalizationForm.FormD); StringBuilder sb = new StringBuilder(); for (int ich = 0; ich < stFormD.Length; ich++) { UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(stFormD[ich]); if (uc != UnicodeCategory.NonSpacingMark) { sb.Append(stFormD[ich]); } } return (sb.ToString().Normalize(NormalizationForm.FormC)); }
bu fonksiyonu kullanarak türkçe karakterleri kaldırabilirsin
string newoutput= RemoveDiacritics(outputstring);
IntPtr buf = Marshal.StringToCoTaskMemAnsi(newoutput);bu şekilde kullanabilirsin..
ben de tam olarak ne istediğini anlamadım
-
nessaj bunu yazdıRebelliouS_SouL bunu yazdınessaj bunu yazdı
Hocam benmi yanlış anladım bilmiyorum ama oradaki cevap ta bunların kaldırılması ile ilgili paylaşım yapılmış sanki.
noktalı harflerdeki noktaları kaldırıyor (i istisna) örnek olarak, ç leri c ye çeviriyor, bunu istemiyormusun?
yok hocam ben replace yapmak istemiyorum.
ben yazıcıya ş harfini gönderdiysem o ş yi yazdıracak s yi değil.
-
RebelliouS_SouL bunu yazdı
http://www.dosya.tc/server26/g5vKDz/test.rar.html
proje burada amaç gönderdiğimde türkçe karakter hatası vermesin, tr karakterleride kullanabileyim.
işte burada yazıyorya arkadaş :)
niye anlaşılamıyorum ben :(