امتیاز موضوع:
  • 9 رای - 2.56 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تبدیل collation کلیه جداول به utf8
#1
سلام

اگر از همان ابتدا این تنظیمات سرور به صورت پیش فرض پیکربندی شده باشد اکثر جداول با collation به صورت latin1 ایجاد می شوند. که باید از روش زیر کلیه جداول را به utf8 تغییر بدید. در غیر این صورت رکوردها در ویتایگر به صورت ؟؟؟؟ ظاهر می شوند.

یک فایل php بر روی هاست خود ایجاد و مقدار زیر را درون آن ریخته و ذخیره و فراخوانی کنید.
کد پی‌اچ‌پی:
<?php
$dbname 
'dbname';
mysql_connect('127.0.0.1''username''password');
mysql_query("ALTER DATABASE `$dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");
$res mysql_query("SHOW TABLES FROM `$dbname`");
while(
$row mysql_fetch_row($res)) {
 
  $query "ALTER TABLE {$dbname}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
 
  mysql_query($query);
 
  $query "ALTER TABLE {$dbname}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
 
  mysql_query($query);
}
echo 
'all tables converted';
?>

نام دیتا بیس و یوزر و پسورد متصل به آن را وارد کنید.

 اگر هم بخواهید در تنظیمات mysql در سرور مقدار پیش فرض را روی utf8 ست کنید بدین صورت:
کد:
/etc/my.cnf to ~/my.cnf

(user directory). 
برای اکانت مربوطه

دو خط زیر را به آن در بخش [mysqld] اضافه کنید

collation_server = utf8_unicode_ci
character_set_server=utf8

و mysql را ریستارت کنید.

----------------
همچنین می تونید در phpmyadmin با دسترسی روت این تنظیمات را انجام بدید
در صفحه اصلی آن به تب Variables رفته و جستجوکنید character
و همه مقادیر را از latin1 به utf8 تغییر بدید.

برای فراخوانی کد یک فایل جدید توی مسیری که ویتایگر نصب شده ایجاد کنید مثلا db.php
کد را داخلش قرار داده و ذخیره کنید.
سپس اون را بدین صورت فراخوانی کنید
domain.com/vtiger/db.php
فَمَن یَعْمَلْ مِثْقَالَ ذَرَّةٍ خَیْرًا یَرَهُ ؛ وَمَن یَعْمَلْ مِثْقَالَ ذَرَّةٍ شَرًّا یَرَهُ
[Only registered and activated users can see links Click here to register] | [Only registered and activated users can see links Click here to register] | [Only registered and activated users can see links Click here to register] | [Only registered and activated users can see links Click here to register] | [Only registered and activated users can see links Click here to register]
پاسخ
سپاس شده توسط: pour.hossein
#2
(۱۳-۱۱-۱۳۹۵, ۱۱:۵۳ ق.ظ)administrator نوشته: نباید مشکلی باشه
پرمیشن فایل را 777 کنید و از صحیح بودن اطلاعاتمطمئن بشید.

روش دیگه اینکه بعد از اینکه دیتا بیس را ساختید از طریق phpmyadmin کالیشن را دستی تغییر بدید و بعد ویتایگر فارسی را نصب کنید.
شاد باشید

با سلام
روش اخری که فرمودید جواب داد
ممنون از همکاریتون
پاسخ
سپاس شده توسط:
#3
سلام روز عالی بخیر
با اینکه مشکل قبلی حل شد
ولی الان متوجه این شدم که مشکل جدیدی به وجود اومده که دیگه کاربر جدید نمیسازه
و اینکه تو نصب دوباره متوجه شدم مرحله تصبش به شکل عکسی ضمیمه نیمه کاره میمونه


فایل‌های پیوست تصاویر بندانگشتی
   
پاسخ
سپاس شده توسط:
#4
سلام و روز بخیر

روی آدرسی که دادین مشکلی نیست، اطلاعات ورود را پیعام خصوصی کنید تست بشه.
احتمال داره اگر مشکلی باشه از رعایت نکردن پیشنیازها سمت سرور باشه.

همچنین موارد مجزا را در تاپیک های مجزا ایجاد و مطرح کنید.

ممنون
فَمَن یَعْمَلْ مِثْقَالَ ذَرَّةٍ خَیْرًا یَرَهُ ؛ وَمَن یَعْمَلْ مِثْقَالَ ذَرَّةٍ شَرًّا یَرَهُ
[Only registered and activated users can see links Click here to register] | [Only registered and activated users can see links Click here to register] | [Only registered and activated users can see links Click here to register] | [Only registered and activated users can see links Click here to register] | [Only registered and activated users can see links Click here to register]
پاسخ
سپاس شده توسط:
#5
(۱۳-۱۱-۱۳۹۵, ۱۱:۰۳ ق.ظ)administrator نوشته: سلام

اگر از همان ابتدا این تنظیمات سرور به صورت پیش فرض پیکربندی شده باشد اکثر جداول با collation به صورت latin1 ایجاد می شوند. که باید از روش زیر کلیه جداول را به utf8 تغییر بدید. در غیر این صورت رکوردها در ویتایگر به صورت ؟؟؟؟ ظاهر می شوند.

یک فایل php بر روی هاست خود ایجاد و مقدار زیر را درون آن ریخته و ذخیره و فراخوانی کنید.
کد پی‌اچ‌پی:
<?php
$dbname 
'dbname';
mysql_connect('127.0.0.1''username''password');
mysql_query("ALTER DATABASE `$dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");
$res mysql_query("SHOW TABLES FROM `$dbname`");
while(
$row mysql_fetch_row($res)) {
 
  $query "ALTER TABLE {$dbname}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
 
  mysql_query($query);
 
  $query "ALTER TABLE {$dbname}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
 
  mysql_query($query);
}
echo 
'all tables converted';
?>

نام دیتا بیس و یوزر و پسورد متصل به آن را وارد کنید.

 اگر هم بخواهید در تنظیمات mysql در سرور مقدار پیش فرض را روی utf8 ست کنید بدین صورت:
کد:
/etc/my.cnf to ~/my.cnf

(user directory). 
برای اکانت مربوطه

دو خط زیر را به آن در بخش [mysqld] اضافه کنید

collation_server = utf8_unicode_ci
character_set_server=utf8

و mysql را ریستارت کنید.

----------------
همچنین می تونید در phpmyadmin با دسترسی روت این تنظیمات را انجام بدید
در صفحه اصلی آن به تب Variables رفته و جستجوکنید character
و همه مقادیر را از latin1 به utf8 تغییر بدید.

برای فراخوانی کد یک فایل جدید توی مسیری که ویتایگر نصب شده ایجاد کنید مثلا db.php
کد را داخلش قرار داده و ذخیره کنید.
سپس اون را بدین صورت فراخوانی کنید
domain.com/vtiger/db.php

سلام
وقت بخیر
ادمین جان بنده این کار رو کردم ولی اسم محصول را وارد میکنم همچنان با علامت سوال نمایش داده می شود
ویتایگر 7.1 هم هست
ممنون
پاسخ
سپاس شده توسط:
#6
سلام مجدد
مشکلم رفع شد
بگم شاید به درد کسی خورد

این کد تمام جداول رو به utf8 تبدیل میکنه

<?php
// your connection
mysql_connect("localhost","root","***");
mysql_select_db("DatabaseName");

// convert code
$res = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_array($res))
{
foreach ($row as $key => $table)
{
mysql_query("ALTER TABLE " . $table . " CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
echo $key . " =&gt; " . $table . " CONVERTED<br />";
}
}
?>


همونطور که مهندس فرمود یه فایل php درست میکنیم در مسیر ویتایگر و اونو فراخوانی میکنیم و mysql_connect("localhost","root","***"); و به جای روت یوزر و * پسورد وارد میکنیم و تمام
پاسخ
سپاس شده توسط:


پرش به انجمن:


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