• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تغییر UTF8 به UTF32 در mysql
#1
به نام خدا

سلام،
دوستان چطور میشه انکودینگ یک column که در حال حاضر utf8 general ci هست رو به utf32 general ci تغییر داد بدون اینکه اطلاعات از بین بره ؟

این کارو که می کنم تمام نوشته های فارسی داخل دیتابیس پاک میشه،چندتا راه حل توی نت سرچ کردم که متاسفانه جواب نداد،راهی برای این مساله هست؟
  پاسخ
تشکر شده توسط :
#2
نمی دونم دلیلت چیه که میخوایی downgrade کنی، فقط اینو بگم: اگر نمی تونی به روش عادی تبدیل رو انجام بدی، یعنی با انکودینگ اشتباه داده ها رو insert دیتابیس کردی و داری میکنی! چون درحالت عادی تبدیل براحتی انجام میشه
درضمن utf32 همیشه byte order داره(endian یا bom)، اگر اسکریپت PHP ت کش داشته باشه، احتمالا به مشکل برمیخوری
وبلاگ: Yousha.Blog.ir


کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بیشتر => نگهداری بهتر
  پاسخ
تشکر شده توسط : Reza Alaa Crashday Null
#3
(۱۳۹۶ مرداد ۰۵, ۱۱:۳۱ ق.ظ)Y.P.Y نوشته: نمی دونم دلیلت چیه که میخوایی downgrade کنی، فقط اینو بگم: اگر نمی تونی به روش عادی تبدیل رو انجام بدی، یعنی با انکودینگ اشتباه داده ها رو insert دیتابیس کردی و داری میکنی! چون درحالت عادی تبدیل براحتی انجام میشه
درضمن utf32 همیشه byte order داره(endian یا bom)، اگر اسکریپت PHP ت کش داشته باشه، احتمالا به مشکل برمیخوری

سلام
ببینید داخل این تیبل column که utf8 هست اطلاعات به زبان فارسی ذخیره میشه،منتها مشکلی که داره اینکه شکلک ها یا همون اموجی ها ذخیره نمیشن،سرچ کردم گفتن باید utf32 باشه تا شکلک ها هم ذخیره بشن در غیر اینصورت فقط یه فضای خالی جای شکلک ذخیره میشه،برای همین میخوام utf32 کنم،راه حل بهتری هست؟
بعد میشه بگید این حالت عادی چطوریه؟ شاید اون چیزی که من انجام دادم مربوط به این کار نبوده.
  پاسخ
تشکر شده توسط :
#4
اگه هدفت شکلکهای تلگرامه، که اون utf8mb4 هستش... کی گفته utf32 هه؟
هموشن در بازه utf8mb4 هستن

MySQL 5.5.3 به بعد

کد:
SET NAMES utf8mb4;
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
...
وبلاگ: Yousha.Blog.ir


کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بیشتر => نگهداری بهتر
  پاسخ
تشکر شده توسط : Crashday
#5
(۱۳۹۶ مرداد ۰۵, ۰۶:۳۱ ب.ظ)Y.P.Y نوشته: اگه هدفت شکلکهای تلگرامه، که اون utf8mb4 هستش... کی گفته utf32 هه؟
هموشن در بازه utf8mb4 هستن

MySQL 5.5.3 به بعد

کد:
SET NAMES utf8mb4;
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
...

شکلک های اندرویدی دیفالت گوشی ها،کاربرها داخل پیام هایی که توی برنامه اندرویدی ارسال میکنند از شکلک استفاده میکنن،این کارو که میکنن متنشون تا همون شکلک میرسه و بعد از اون شکلک هیچی ذخیره نمیشه،اگرم فقط شکلک خالی ارسال کنن که کلا چیزی جز فضای خالی ذخیره نمیشه.
این جوابی هست که داخل فروم b4a دادن به یکی که مشکل منو داشت:

کد:
Emojis are Unicode characters. You can use UTF32 to create such characters:

پس با این حساب من کدی که شما لطف کردی رو استفاده کنم ؟
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان