Wednesday, November 21, 2007

වෙබ් පිටුවල charset=utf-16 යෙදීමෙන් පිටුවේ බර වැඩිවීමක් වේද?

සිංහල වෙබ් පිටු සැකසීමේදී මෙටා ටැග් එකෙහි charset=utf-8 ලෙස නොයොදා charset=utf-16 ලෙස යෙදීමේදී පිටුවේ බර වැඩිවීමක් වේද?

META http-equiv=Content-Type content="text/html; charset=utf-16"

මෙයින් වෙබ් පිටුවේ සැලකිය යුතු ආකාරයේ කිසිදු බර වැඩි වීමක් සිදු නොවේ. මෙහිදී මතක තබාගත යුතු කරුණ නම් UTF8 හා UTF16 කේතගතකරනයන් variable width කේතගතකරනයන් වීමයි. තවදුරටත් පැහැදිලි කරතොත් මේවා එක් එක් අකුර සඳහා වෙනස් බයිට සංඛ්‍යාවන් භාව්ත කරයි. UTF8 වලදී යුනිකේත අකුරු කේතයේ මුලින්ම තිබෙන අකුරු 128 නිරූපණයට එක් බයිටයක් යොදාගන්නා අතර ඉන්පසු තිබෙන අකුරු 1920ට බයිට දෙකක්ද ඉන් ඉදිරියට ඇති ඒවාට බයිට තුනක් ද යොදාගනියි. බයිට හතරක් යොදාගන්නා අකුරු ඇතද, basic multilingual plane නමින් හඳුන්වන කොටසේ ඇති චීන, ජපන්, සිංහල ආදී භාෂාත් ඇතුලත් භාෂා සඳහා බයිට 3ක් ප්‍රමාණවත් වේ. මෙනිසා ඉහත කේතගතකරණ දෙකින් කුමන කේතගතකරණය භාව්තා කලද සිංහල අකුරක් සඳහා යොදාගන්නේ බයිට 3කි(කරුණාකර මා වැරදි නම් නිවැරදි කරන්න). එනිසා වෙබ් පිටුවේ බර වැඩිවීමක් සිදුනොවේ. නමුත් මෙටා ටැග් එකේ 8 අංකය 16 කිරීමේදී වැඩිවන බයිට ප්‍රමාණය නම් වැඩිවිය යුතුය. තවද UTF32 කේතගතකරණය fixed width බවද මතක තබාගත යුතුය.

සිංහල නිසි ලෙස ක්‍රියාකිරීමට ඉහත පරිදි මෙටා ටැග් එක දැමීම අත්‍යාවශ්‍ය ම නොවේ. මෙහිදී දැනගත යුතු වනුයේ මුල සි‍ට අගට සිංහල වචනයකට සිදුවන්නේ කුමක් ද කියා අධ්‍යනය කිරීමයි. ඉතා සංකීර්ණ වුවත් එය ඉතා සැකෙවින් මෙසේ දැක්විය හැකිය.

ටෙක්ස් එඩිටරයකින් ටයිප් කිරීම හා ගොනුව සුරැකීම.
වෙබ් බ්‍රවුසරයකින් http request එකක් යැවීම.
වෙබ් සර්වරය ගොනුව කියවා http response එකක් යැවීම.
වෙබ් බ්‍රවුසරය එය කියවා දර්ශණය කිරීම.

ඉහත සෑම අවස්ථාවකදීම අදාල මෘදුකාංගය, ටෙක්ස් එඩිටරය, බ්‍රවුසරය හෝ සර්වරය නි‍වැරදි කේතගතකරණය තෝරාගෙන ක්‍රියාකරයි. ඔබ එඩිටරයක සිංහල ටයිප් කර සුරැකීමට යන විට එහි යුනිකේත අකුරු අඩංගු බව දැනගන්නා එඩිටරය එය වඩාත් සුදුසු UTF8 කේතගතකරනයෙන් සුරකියි. බ්‍රව්සරය http request යවන වි‍ට Accept-Charset: යනුවෙන් එය බලාපොරොත්තු වන කේතගතකරන් යවයි. වෙබ් සර්වරය ගොනුවේ කේතගතකරනයත්, ඉහත තොරතුරත් වෙනත් හේතුත් සලකා බලා සර්වරය Content-Type: එකේ කේතගතකරණය තෝරාගනියි. නැවතත් බ්‍රව්සරය ඒ මත පදනම්ව නිවැරදි කේතගතකරණය යොදාගෙන පිටුව දර්ශණය කරයි. මෙහිදී ඔබ යොදාගන්නා එඩිටරයේ, සර්වරයේ, බ්‍රව්සරයේ හා සර්වර්යේ යොදාගන්නා භාෂාවේ (ජාවා ද පීඑච්පී ද ආදී වශයෙන්) හැකියාවන් හා සූසර කිරීම් මත ප්‍රතිථල වෙනස් විය හැකි බව සැලකිය යුතුයි. ඩේටා බේස් එකක් යොදාගන්නේ නම් එහි යුනිකේත පහසුකම්ද බලපායි.

කෙසේවුවත් සිංහල වෙබ් අඩවි සෑදීමට මෙබඳු කරුණු සියල්ලම දැනගෙන සිටිය යුතු නොවේ. දැන් තිබෙන මෘදුකාංග කේතගතකරනයන් පිලිබඳ හොඳ අවධාන‍යකින් ක්‍රියාකරන නිසා හරිම පහසුයි.

1 comment:

Wiz Kun said...

සිංහල අකුරක් සඳහා යොදාගන්නේ බයිට 2කි.

මෙටා ටැග් එකේ 8 අංකය 16 කිරීමේදී වැඩි වන්නේ එකම එක බයිටයක් පමනි :)