رفع مشکل UTF-8 در اتصال پراسس میکر به SQL Server

اگر پایگاه داده مایکروسافت SQL Server از مجموعه کاراکترهای UTF-8 استفاده نکند و شامل کاراکترهای non-ASCII  باشد، ممکن است برخی مشکلات پیش بیاید، زیرا ProcessMaker برای استفاده از UTF-8 طراحی شده است.

  • کد منبع ProcessMaker در UTF-8 نوشته شده است و صفحات HTML UTF-8 را تولید می کند.
  • مجموعه کاراکترهای سرور آپاچی باید UTF-8 باشد.
  • درخواست های AJAX با استفاده از کد JSON در UTF-8 هستند.
  • تطبیق در MySQL برای پایگاه داده های ProcessMaker در UTF-8 است.

این چهار جزء باید در UTF-8 باشند تا همه چیز کار کند: کد منبع، سرور آپاچی، داده های تعاملی و فیلدهای پایگاه داده.

حل مسائل با کاراکترهای UTF-8

برای نمایش داده های unicode از پایگاه داده Microsoft SQL Server، توصیه می کنیم که:

  • FREETDS را برای ارسال داده های UTF-8 به ProcessMaker تنظیم کنید.
  • خطوط مربوطه را از فایل MSSQLResultSet.php حذف کنید.

FREETDS را در لینوکس / یونیکس راه اندازی کنید.

برای جلوگیری از مشکلات مجوز با فایل freetds.conf، توصیه می شود به فایل freetds.conf مجوزهای خواندن سراسری بدهید. مثلا:

chmod +r /etc/freetds/freetds.conf

 

متغیر محیطی FREETDSCONF  به محل فایل freetds.conf اشاره کند . در ابتدای اسکریپت سرویس آپاچی (که در /etc/init.d/httpd در Red Hat/Cent OS/Fedora و در /etc/init.d/apache2 در Debian/Ubuntu/SuSE قرار دارد)، موارد زیر را اضافه کنید. خط:

export FREETDSCONF=/etc/freetds/freetds.conf

در نهایت، در بخش global فایل freetds.conf، خطوط زیر را به این شکل تغییر دهید:

tds version = 7.0
client charset = UTF-8

توجه: نسخه TDS ممکن است بسته به نسخه موتور پایگاه داده ای که سرور در تلاش برای برقراری ارتباط با آن است، تغییر کند. برای اطلاعات بیشتر، لطفا از صفحه راهنمای freetds دیدن کنید.

MSSQLResultSet.php را تغییر دهید

هنگامی که freetds تمام داده ها را در UTF-8 دریافت کرد، دیگر نیازی به کد برای تبدیل همه فیلدها به UTF-8 نیست. خطوط 123-133 را از فایل MSSQLResultSet.php که در آدرس زیر قرار دارد حذف کنید:

/thirdparty/creole/drivers/mssql/MSSQLResultSet.php

https://wiki.processmaker.com/3.3/Database_Connections/MSSQL#If_the_SQL_Server_database_does_not_use_UTF-8_encoding

دیدگاه ها

هیچ دیدگاهی تا به این لحظه در این صفحه ثبت نشده است

دیدگاه خود را در مورد این مطلب بیان کنید.




مشاوره آنلاین