PDA

View Full Version : نوشتن فایل یونیکد در پایتون



ASedJavad
شنبه 10 دی 1390, 18:33 عصر
سلام
مشکل این کد چیه؟

a=open('c:\\1.txt','w')
z=u'سلام'
a.write(z)

ehp_kz6597
یک شنبه 11 دی 1390, 10:29 صبح
سلام
شما چه خطایی دریافت میکنی ؟
اگه با اون u مشکل داره و ورژن پاتون شما 3 هست ، ورش دارین چون این نسخه بدون نیاز به درج کاراکتر u ، متن یونیکد رو نشون میده
ولی اگه مشکل اینجاست که ذخیره نمیشه ، احتمالا به خاطر جا افتادن () a.close باشه

ASedJavad
یک شنبه 11 دی 1390, 15:07 عصر
ممنون
ولی من از پایتون 2.7 استفاده میکنم و از pys60 سیمبین
این ارور رو میده:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordin
al not in range(128)

مطمئنم ربطی به اون مواردی که شما گفتید نداره
بلکه احساس میکنم متنم باید قبل از اینکه تو فایل ریخته بشه، باید دیکد (یا اینکد) بشه ولی با چه اینکدینگی؟ نمی دونم.

ehp_kz6597
یک شنبه 11 دی 1390, 17:18 عصر
سلام

مطمئنم ربطی به اون مواردی که شما گفتید نداره
از قرار معلوم حق با شماست . خب از اول نگفتین تو 2.7 اجرا کردین
به هر حال . مثل اینکه این هم از مشکلات شایع هست و با توجه به راه حل های ارائه شده باید از (" encode("ascii استفاده کنین
جزئیات بیشتر:
Unicode HOWTO (http://docs.python.org/howto/unicode.html)
UnicodeEncodeError (http://stackoverflow.com/questions/3856246/unicodeencodeerror-when-reading-pdf-with-pypdf)
utf-16 to utf-8 (http://www.python-forum.org/pythonforum/viewtopic.php?f=3&t=12849)

امیدوارم مشکلت رو حل کنه :چشمک:
شاد باشید :لبخند:

ASedJavad
دوشنبه 12 دی 1390, 02:52 صبح
ممنون از شما
مشکل حل شد
باید از encode('utf-8') استفاده میکردم
البته خودم قبلا بارها این کار رو کردم ولی همش ارور میداد
ظاهرا بجای encode مینوشتم incode!