View Full Version : UTF8
soheril.server
دوشنبه 10 اسفند 1388, 16:12 عصر
با سلام
وقتی که برنامه درون فایل اکسس سرچ می کند و میخواهد نتایج فارسی را برگرداند علامت سوال نشان میدهد...چه کنم؟!!
jlover
دوشنبه 10 اسفند 1388, 20:29 عصر
نتایج فارسی قراره در کجا نمایش داده بشند ؟
به احتمال زیاد مشکل شما هم در این تاپیک بررسی شده :
http://barnamenevis.org/forum/showthread.php?t=204653
اما توضیح کلی :
باید رشته ی دریافتی رو یه همچین عملی روش انجام بدید ( اینکدینگ منبع و مقصد رو باید بدونید یا در واقع مشخص کنید )
String outputString = new String ( inputString.getBytes(), "اینکدینگ مقصد")
soheril.server
دوشنبه 10 اسفند 1388, 21:59 عصر
نتایج فارسی قراره در کجا نمایش داده بشند ؟
به احتمال زیاد مشکل شما هم در این تاپیک بررسی شده :
http://barnamenevis.org/forum/showthread.php?t=204653
اما توضیح کلی :
باید رشته ی دریافتی رو یه همچین عملی روش انجام بدید ( اینکدینگ منبع و مقصد رو باید بدونید یا در واقع مشخص کنید )
String outputString = new String ( inputString.getBytes(), "اینکدینگ مقصد")
دوست عزیز متشکر ولی میشه یکم واضح تر توضیح بدی(با مثال)
jlover
دوشنبه 10 اسفند 1388, 23:32 عصر
دوست عزیز متشکر ولی میشه یکم واضح تر توضیح بدی(با مثال)
یه مثال کامل توی همون پست آخر اون تاپیک هست،اما شما هم نگفتید قراره رشته ی دریافتی ( که میگید اینکدینگش utf-8 هست - چون من اطلاعی از اکسس ندارم - ) رو کجا نمایش بدید !
میتونید امضای متد ()getBytes رو بررسی کنید :
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#getBytes()
(و البته چه بهتر که حتمن یه کپی از مستندات JDK رو داشته باشید تو کامپیوترتون،اگه ندارید)
اون خط دستوری که آوردم،میاد یه رشته میسازه به نام outputString و از سازنده ای استفاده میکنه که []byte رو به عنوان پارامتر اول میگیره،و ما با اعمال متد ()getBytes روی رشته ی دریافتی
- (در اینجا اسمشو گذاشتیم inputString ) که در واقع همون رشته ای هست که شما مثلن از اکسس میگیرید - این پارامتر اول رو بدست میاریم و در اینجا از اینکدینگ پیشفرض جاوا که utf-8 باشه استفاده میشه .
پارامتر دوم هم که اگر مشخص بشه،مثلن اینجا مشخص کردیم : "اینککدینگ مقصد" ! ، رشته رو با این اینکدینگ میسازه
مثلن اگر از Cp1097 به عنوان اینکدینگ مقصد استفاده کنیم،استاندارد هشت بیتی IBM برای کاراکترهای فارسی روی بایتهای دریافتی ( []byte ) اعمال میشه و رشته ی تولیدی دارای این اینکدینگ خواهد بود
پس در این مثال ما اومدیم رشته ی utf-8 رو به رشته ی Cp1097 تبدیل کردیم
همه ی اینا رو هم با نگاه کردن به مستندات مربوط به متد ها وکلاسهای مورد بحث بهتر و درست تر و راحت تر میشه دریافت
اگر سوال دیگه ای داشتید،لطفن مشخصتر،با یک مثال ، بفرمایید تا جواب با میلتری بگیرید
پیروز باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.