অ্যাপাচের জন্য ডিফল্ট এনকোডিংটি ইউটিএফ -8 এ কীভাবে পরিবর্তন করবেন?


138

আমি একটি হোস্টিং সংস্থা ব্যবহার করছি এবং এটি ফাইল ডিরেক্টরিতে না থাকলে ফাইলটি একটি ডিরেক্টরিতে index.htmlতালিকাবদ্ধ করবে, এটি ডিফল্ট এনকোডিং হিসাবে আইসো -8859-1 ব্যবহার করে।

সার্ভারটি যদি আপাচি হয়, তার পরিবর্তে ইউটিএফ -8 সেট করার কোনও উপায় আছে কি?

আপডেট: অতিরিক্ত হিসাবে আমি জানতে পেরেছিলাম যে এটি প্রকৃতপক্ষে এইচটিএমএল ৩.২ এর একটি ডক্টইপিই ব্যবহার করছে এবং তারপরে অক্ষরটি মোটেও নেই ... সুতরাং এটি কোনও এনকোডিং সেট করছে না। তবে ইউটিএফ -8 ব্যবহারের জন্য কী এটি পরিবর্তন করার কোনও উপায় আছে?

উত্তর:


176

Httpd.conf এ যোগ করুন (বা এটি ইতিমধ্যে উপস্থিত থাকলে পরিবর্তন করুন):

AddDefaultCharset utf-8

6
এই ফাইলটি কোথাও একটি যুক্ত করতে পারে?
সিস্টেমেভিচ

5
@ জিফ্রে হ্যাঁ যদি এটি ইতিমধ্যে সেখানে না থাকে তবে আপনি এটি যে কোনও জায়গায় রাখতে পারেন। তবে, আমি বেশিরভাগ কারণেই ফাইলের নীচে প্রতিটি "কাস্টম" নির্দেশনা রাখি (প্রাক-বিদ্যমান নির্দেশাবলী, ক্রম এবং স্টক কনফিগারেশন থেকে আমি কী পরিবর্তন করেছি তা সহজেই দেখতে পেতে) r
মার্টিনোডএফ

6
অ্যাডডেফল্টচার্যাসিট ইউটিএফ -8 এ .htaccess - আমার জন্য একটি মোহন কাজ করেছে। (যদি আপনার httpd.conf এ অ্যাক্সেস না থাকে)
রিচার্ডভিটনি

এটা কি সংবেদনশীল?
মাইক স্টোডার্ড্ট

6
যেহেতু এই উত্তরটি ২০০৯ সালের: উবুন্টু 18 তে, আপনি এই কনফিগারেশনটি পরিবর্তন করেন/etc/apache2/conf-available/charset.conf
উড্রোশিগেরু

55

এটি আপনার যুক্ত করুন .htaccess:

IndexOptions +Charset=UTF-8

বা, যদি আপনার প্রশাসকের অধিকার থাকে তবে আপনি এটিকে সম্পাদনা করে httpd.confএবং যুক্ত করে বিশ্বব্যাপী সেট করতে পারেন :

AddDefaultCharset UTF-8

(আপনি ব্যবহার করতে পারেন AddDefaultCharsetমধ্যে .htaccessখুব, কিন্তু এটা অ্যাপাচি-জেনারেট ডিরেক্টরির তালিকা প্রভাবিত করবে না যে।)


4
এটি একটি দুর্দান্ত সমাধান এবং httpd.conf ফাইল সংশোধন করার চেয়ে কম আক্রমণাত্মক।
অ্যান্ড্রু সুইফট

1
আমার সার্ভারে, .htaccessসমস্ত উপ-ডিরেক্টরিগুলিকেও প্রভাবিত করতে পারে, সম্ভবত .htaccess
অ্যাপাচি

2
হ্যাঁ, .htaccessসমস্ত সার্ভারে এটি কীভাবে কাজ করে - এটি সমস্ত উপ-ডিরেক্টরিকেও প্রভাবিত করে। তবে অ্যাপাচি-উত্পাদিত ডিরেক্টরি তালিকা পাতাগুলি .htaccess(এএফআইকে) ব্যবহার করে ইউটিএফ -8 এ জোর করা যায় না ।
ম্যাথিয়াস বাইনেস

9
দয়া করে নোট করুন ফাইলের মাধ্যমে সার্ভারওয়াইড সেটিংস পরিবর্তন .htaccessকরা সাধারণত খারাপ অভ্যাস। সার্ভার সেটিংস বিভিন্ন ফাইলে বিতরণ করা হলে বাগগুলি ট্র্যাক করা শক্ত হয়ে ওঠে। একটি সামান্য পারফরম্যান্সও হিট হয়েছে: প্রতিটি অনুরোধ করা ফাইলের সাথে, অ্যাপাচিকে ডিরেক্টরিটির .htaccessফাইল এবং .htaccessপ্যারেন্ট ডিরেক্টরিগুলির সমস্ত ফাইল পড়তে হয় । .htaccessসুতরাং কেবলমাত্র ডিরেক্টরি নির্দিষ্ট সেটিংসের জন্য ব্যবহার করা উচিত (যেমন কোনও নির্দিষ্ট ডিরেক্টরিতে অ্যাক্সেস রোধ করা) বা যখন প্রশাসকের অধিকার পাওয়ার কোনও সম্ভাবনা নেই।
রবার্ট

2
ভোট দেওয়া হয়েছে, সূচকগুলি + চরসেট = ইউটিএফ -8 আমার জন্য কৌশলটি করেছে, ধন্যবাদ!
mTorres

28

দেখুন AddDefaultCharset নির্দেশিকা , AddCharset নির্দেশিকা , এবং এই নিবন্ধটি

AddDefaultCharset utf-8

তবে আমাকে এখন ও পরে চীনা অক্ষর ব্যবহার করতে হবে। পূর্বে, আমি ইউনিকোড কোডে চীনা অক্ষর অনুবাদ করেছি এবং &#হ্যাক ব্যবহার করে নথিতে এটি অন্তর্ভুক্ত করেছি । তবে এটি কেবল কয়েকটি অক্ষরযুক্ত পৃষ্ঠাতে কার্যকর।

এটি করার আরও একটি ভাল উপায় আছে: ফাইলনামে চারসেট তথ্য এনকোড করুন এবং অ্যাপাচি তার ভিত্তিতে যথাযথ এনকোডিং শিরোনাম আউটপুট আনবে। AddCharsetকনফিড ফাইলের রেখাগুলি যেমন নীচের লাইনের জন্য এটি সম্ভব ধন্যবাদ :

conf/httpd.conf:

AddCharset UTF-8 .utf8

সুতরাং আপনার কাছে যদি এমন কোনও ফাইল থাকে যার নাম শেষ হয় .html.utf8, তবে অ্যাপাচি পৃষ্ঠাটি এমনভাবে পরিবেশন করবে যেন এটি ইউটিএফ -8 এ এনকোড করা থাকে এবং সেই অনুসারে সঠিক অক্ষর-এনকোডিং নির্দেশকে ডাম্প করে দেবে।


23

স্থান AddDefaultCharset UTF-8মধ্যে /etc/apache2/conf.d/charset। আসলে, এটি ইতিমধ্যে আছে। আপনি কেবল পূর্ববর্তীটি সরিয়ে এটিকে অসুবিধে করতে হবে #


2
এর মতো কোনও ফাইল নেই /etc/apache2/conf.d/charset। এটি আপনার বিতরণ দ্বারা একটি কাস্টম অন্তর্ভুক্ত ফাইল। যেমনটি অন্য কোনও ফাইলের মতো নয় httpd.conf
Evi1M4chine

1
এটি /etc/apache2/conf-enabled/charset.confআমার বিতরণে রয়েছে (উবুন্টু 16.4) .এছাড়াও কাজ করেনি।
আলোটোর

23

.Htaccess এ এই লাইনটি যুক্ত করুন:

AddCharset utf-8 .html .css .php .txt .js

এটি তাদের জন্য যাঁদের সার্ভারের কনফ ফাইলটিতে অ্যাক্সেস নেই। অন্যান্য প্রচেষ্টা ব্যর্থ হলে চেষ্টা করা আরও একটি বিষয়।

.Htaccess ব্যবহার সম্পর্কে পারফরম্যান্সের বিষয়গুলি আমি এটি দেখিনি। আমার আদর্শ পৃষ্ঠা লোডের সময়গুলি .htaccess সহ বা ছাড়াই 150-200 এমএস

আপনার পৃষ্ঠাটি যদি সঠিকভাবে রেন্ডার না করে তবে পারফরম্যান্সটি কতটা ভাল। বেশিরভাগ ভাগ করা সার্ভারগুলি ব্যবহারকারীকে কনফিগারেশন ফাইলটিতে অ্যাক্সেসের অনুমতি দেয় না যা একটি চরিত্র সেট যুক্ত করার জন্য পছন্দের জায়গা।


আমি ব্যাখ্যা করতে পারি না, তবে কেবল এই সমাধানটি আমার পক্ষে কাজ করে। সে কারণেই একটি বড় +1
স্কালার ওয়াগ

1
@ রবার্টের আগে যেমন উল্লেখ করা হয়েছে - আপনি যদি ইতিমধ্যে .htaccessফাইল ব্যবহার না করেন তবে এখনই শুরু করবেন না। এটি বাজে আইডিয়া (টিএম) হওয়ার কারণে কার্য সম্পাদন এবং প্রশাসনিক কারণ রয়েছে
21

আপনি যখন এক্সটেনশানগুলি অন্তর্ভুক্ত করবেন না তখন অ্যাডচারসেট সামগ্রী প্রকরণের পাঠ্য / এইচটিএমএল এবং পাঠ্য / সমতলতে প্রয়োগ করা হয়।
ভুল বোঝাবুঝি

এটি আমার পক্ষে কাজ করেছিল যখন উপরোক্ত সমস্ত অ্যাঞ্জেন্সাররা তা না করে। +1
আলোটোর

গৃহীত উত্তরটি কেবলমাত্র টেক্সট / এইচটিএমএল এবং পাঠ্য / প্লেইনকে
TacoV

10

আপনি অ্যাপাচি কনফিগারেশনে (httpd.conf) অ্যাক্সেস পেয়েছেন কিনা তা আমি নিশ্চিত নই তবে আপনার একটি অ্যাডডিফল্টচরসেট নির্দেশিকা সেট করতে সক্ষম হওয়া উচিত। দেখা:

http://httpd.apache.org/docs/2.0/mod/core.html

Mod_mime.c মডিউলটি সন্ধান করুন এবং নিম্নলিখিতটি সেট করা আছে তা নিশ্চিত করুন:

AddDefaultCharset utf-8 

বা সমতুল্য অ্যাপাচি ১.x ডক্স ( http://httpd.apache.org/docs/1.3/mod/core.html#adddefaultcharset )।

তবে এটি কেবল তখনই কাজ করে যখন "প্রতিক্রিয়া সামগ্রীটির ধরণটি পাঠ্য / প্লেইন বা পাঠ্য / এইচটিএমএল"।

আপনার পৃষ্ঠাগুলিতে একটি চরসেটও সেট রয়েছে তাও আপনার নিশ্চিত করা উচিত। আরও তথ্যের জন্য এটি দেখুন:

http://www.w3.org/TR/REC-html40/charset.html


8

এটি অনির্ধারিত তবে সম্ভবত কাজ করবে।

আপনার .htaccess ফাইলটিতে:

<Files ~ "\.html?$">  
     Header set Content-Type "text/html; charset=utf-8"
</Files>

তবে এটির জন্য সার্ভারে mod_headers প্রয়োজন ers


এটি আমার পক্ষে কাজ করেছে, যদিও নির্বাচিত সমাধানটি কার্যকর হয়নি। ধন্যবাদ! আসলে, আমি এমনকি এটি <Files>ট্যাগ জড়ান ছিল না ।
জেরেমিয়া

8

সম্পূর্ণতার জন্য, উবুন্টু-এ অ্যাপাচি 2-তে, আপনি কনফ-উপলভ্যে অক্ষরে অক্ষরে অক্ষরে অক্ষরে অক্ষরে অক্ষরে অক্ষরে অক্ষর পাবেন।

লাইনটি কমেন্ট করুন

AddDefaultCharset UTF-8

3

সমস্ত HTML ফাইলগুলি যেখানে ইউটিএফ -8 এ রয়েছে এবং সামগ্রীর ধরণের জন্য মেটা ট্যাগ নেই, সেখানে কেবলমাত্র উভয় নির্দেশিকা যুক্ত করে অ্যাপাচি ২.৪ পাঠানোর জন্য এই ফাইলগুলির জন্য প্রয়োজনীয় ডিফল্ট সেট করতে পেরেছি:

AddLanguage ru .html
AddCharset UTF-8 .html

3

যদি আপনার utf-8 এ দীর্ঘ ফাইলের নাম থাকে তবে কেবলমাত্র একটি ইঙ্গিত: ডিফল্টরূপে সেগুলি 20 বাইটে সংক্ষিপ্ত করা হবে, তাই এটি ঘটতে পারে যে শেষ অক্ষরটি "অর্ধেক অংশে কাটা" হতে পারে এবং তাই সঠিকভাবে অচেনা। তারপরে আপনি নিম্নলিখিতগুলি সেট করতে চাইতে পারেন:

IndexOptions Charset=UTF-8 NameWidth=*

NameWidth সেটিংটি আপনার ফাইলের নামগুলি সংক্ষিপ্ত করা প্রতিরোধ করবে, এগুলি সঠিকভাবে প্রদর্শিত এবং পাঠযোগ্য।

অন্য ব্যবহারকারীরা ইতিমধ্যে উল্লিখিত হিসাবে, এটি হয় httpd.confবা apache2.conf(যদি আপনার প্রশাসকের অধিকার থাকে) অথবা .htaccess(যদি আপনি না করেন) এ যুক্ত করা উচিত।


2

খালি ছেড়ে দিন: 'default_charset' in WHM :::::: default_charset =''

PS - WHM এ যান --------) হোম »পরিষেবা কনফিগারেশন» পিএইচপি কনফিগারেশন সম্পাদক ----) 'অ্যাডভান্সড মোড' ক্লিক করুন ----) 'ডিফল্ট_চর্सेट' সন্ধান করুন এবং খালি ছেড়ে দিন ---- কেবল কিছুই নয়, ইউটিএফ 8 নয়, আইএসও নয়


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.