1) براي کارهاي فارسي حداقل به 1001 دليل خيلي بهتره که از کد پيج 1256 استفاده بشه تا utf8
2) access نحوه نمايش اطلاعات رو از ويندوز ميپرسه. براي ويندوز xp توي control panel قسمت regional and language options بخش advanced زير قسمت language for non-unicode programs رو روي فارسي قرار بديد. بعد از reset شدن سيستم احتمالا مشکلتون حل ميشه. (و البته احتمالا با مشکلات ديگه اي در جاهاي ديگه مواجه ميشيد ....) اين کار ويندوز شما رو در واقع بهعنوان يه ويندوز فارسي معرفي ميکنه. اين کار رو با توابع api هم ldai براي فقط يه برنامه خاص هم انجام داد که متاسفانه من عينش رو الان فراموش کردم و در دسترس ندارم. ميتونيد با صدا زدن اون api ها توي vbscript داخل access به هدفتون برسيد.
3) روي ويندوزهاي استاندارد (چه فارسي و چه انگليسي) هيچ مشکلي وجود نخواهد داشت.
در ضمن صورت دقيق کار به اين بستگي داره که اطلاعات داخل فايل access تون به چه صورتي باشه(؟؟)
اگه با کد پيج 1256 باشه اينو بزاريد اول html تون:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1256">
اگه با utf8 هم باشه ...
اگه به صورت &#XXXX; باشه مشکلي براي ديدن متنها نيست.
از هر يک از روشهاي بالا که استفاده کرده باشيد نتيجه رو ويندوزهاي استاندارد (چه فارسي و چه انگليسي) يکي هست. مثلا اگه کد حرف الف مثلا در 1256 برابر 200 باشه. در utf8 برابر 180:120 و کد واقعي الف مثلا 1000 باشه توي همه حالات نتيجه همون کد 1000 ميشه.
يعني chr(200) با انکد 1256 chr(180:120) با انکد utf8 و &# 1000; همگي باعث نشان دادن حرف الف مي شوند.(مثلا!!)
توي ويندوزهاي غير استاندارد (مثلا پارسا) حسابي کارتون ساخته است!! چون مجبوريد توي خيلي از حروف (مثل کاف) استاندارد رو نقض کنيد و ...
اضافه کنم استفاده از فرمت شماره اي html (&#XXX;) کار معمولا اشتباهيه که هم حجم فايل رو بالا ميبره، هم امکان edit فايها توسط "هر editor"ي رو از شما مي گيره و هم موتورهاي جستجو رو دچار مشکل ميکنه.
در ضمن از لحاظ فضاي مصرفي در 1256 هر کاراکتر يک بايت و در utf8 هر کاراکتر بين يک تا چهار بايت فضا مي گيرد. |