PDA

View Full Version : # و یونیکد در mysql



houtanal
چهارشنبه 28 اردیبهشت 1384, 01:49 صبح
سلام
برای یک سیستم پشتیبان گیری با پشتیبانی فارسی نیاز به این دارم که بوسیله mysql_query داده های پشتیبان گرفته شده را درج کنم.
اما در مواردی که از یونیکد در محتوا استفاده شده به علت وجود # که همان طور که می دانید در mysql به معنای کامنت بقیه جمله است داده ها درست درج نمی شوند.

راهی دارم؟

oxygenws
چهارشنبه 28 اردیبهشت 1384, 02:16 صبح
من منظورت رو نفهمیدم. آخه علامت # چه ربطی به یونیکد داره؟؟؟؟

مهدی کرامتی
چهارشنبه 28 اردیبهشت 1384, 02:16 صبح
چرا از MysqlDump استفاده نمیکنی؟

در ضمن، وقتی کاراکترها بصورت یونیکد درج شده باشند خبری از # در بین آنها نخواهد بود، بنابراین این مشکل چرا باید وجود داشته باشه؟

houtanal
چهارشنبه 28 اردیبهشت 1384, 02:35 صبح
MysqlDump
از کجا می تونم نسخه PHP رو دریافت کنم(گشتم،نبود)
نمونه



, '& # 1578;& #1575 ;& # 1578;& #1575 ;',

یک چنین چیزی رو زمانی که داده ها را از دیتابیس در یک فایل ذخیره می کنم دریافت می کنم.
وقتی می خواهم داده ها را درج کنم با رسیدن به # بقیه عبارت را کامنت در نظر گرفته و Error میدهد

مهدی کرامتی
چهارشنبه 28 اردیبهشت 1384, 02:45 صبح
کاراکترهای یونیکد زمانی به این صورت ذخیره میشوند که Encoding صفحه ای که این داده ها در آن وارد شده اند بر روی چیزی غیر از UTF-8 (مثلا Western European یا همان Windows-1252) باشد.

oxygenws
چهارشنبه 28 اردیبهشت 1384, 03:13 صبح
از کجا می تونم نسخه PHP رو دریافت کنم(گشتم،نبود)
این یک دستور MySQL است.

حروف به شکل #XXXX; کلا یونیکد نیستند و همونطور که مهدی عزیز گفت، windows 1256 اند. حالا یا زمان تایپ در ادیتور خارجی، نوع حروف این بوده یا ...... به هر حال، زمان وارد کردن داده ها، یه مشکلی بوده که اگر تمایل داشته باشی، شاید با توضیحاتت بیشتر شما، بشه بیشتر راهنمایی کرد :)
در آخر یک جمله از جناب کرامتی رو اینجا دوباره می نویسم:

وقتی کاراکترها بصورت یونیکد درج شده باشند خبری از # در بین آنها نخواهد بود

houtanal
چهارشنبه 28 اردیبهشت 1384, 03:39 صبح
این یک دستور MySQL است
برم راهنماشو بخونم تست می کنم

tnx