Monday, 5 August 2013

Монгол кирилл бичгийн ө, ү үсэг мөн монгол бичгийг С хэлэнд таниулах

Энэ сэдвээр нэлээн дээрээс бичмээр байсан ч зав болохгүй байсаар өдийг хүрлээ.
С хэл дээр ямар нэгэн мэдэхгүй зүйл гарахад Googlees хайгаад асуултынхаа хариуг англи болон бусад хэл дээр амархан олчихно. Гэхдээ тэр бүр хайж олдоод байхгүй сэдэв бол яг одоо бичиж буй, монгол хэл монгол бичигтэй холбоотой сэдэв юм. Англи, солонгос зэрэг хөгжингүй орнуудын хэлтэй харьцуулахад манай монгол хэлний компьютерийн шинжилгээний ажил өргөн хөгжөөгүй байгаа болохоор энэ тал дээр програмчид маань их бэрхшээлтэй хувь хувьдаа тулгарч байдаг байх. Яг одоо миний бичиж буй сэдвийн бэрхшээл тулгарсан хүн байвал наашаа анхаарлаа хандуулна уу. Би өөрөө энэ бэрхшээлээ давах гэж хэчнээн өдөр зарцуулсан болохоор дараа дараачийн хүмүүстээ энэ туршлагаасаа хуваалцахыг хүсч байна. Уншигч та энэ бичлэгийг ашиглан асуудлаа шийдвэрлэж чадвал миний энэ блогийг бичиж буй зорилго хэрэгжиж байна гэсэн үг юм.

С хэлэнд /string/ үгтэй ажиллахад ер нь анх суралцагсдад хэцүү байдаг.
string хадгалах зориулалттай char type өргөн хэрэглэдэг байх. Гэтэл энэ type-г ашиглан бичсэн дараах кодуудыг харцгаая.

char * ch = "аав";


Ингэж бичихэд аав гэдэг үг зөв уншигдана. Гэтэл

char * ch = "өвөө";



гэвэл ?????? буюу асуултын тэмдэгнүүд л уншигдана.

Тиймээс үгээ хадгалахдаа char биш wchar_t -г ашиглаарай
Жишээ нь:

wchar_t * ch = L"өвөө";









wchar_t * ch = L"ᠡᠪᠦᠭᠡ";





Таны хүссэн хариу хэвлэгдэх болно. Энэ жишээ шиг зүгээр нэг хэвлэхдээ гол нь биш С хэл таны оруулсан үгийг үнэн зөвөөр нь уншиж чадаж байна гэсэн үг юм.
Дараагийн удаа MySQL С хэлтэй хэрхэн хослуулах вэ, DBд байгаа монгол үсгээр хадгалсан датаг хэрхэн С хэл рүү унших вэ, DB рүүгээ хэрхэн монгол үсгээр бичсэн үг орсон query явуулах тухай бичих болно.