কনসোলে কীভাবে ইউনিকোড অক্ষর লিখবেন?


150

আমি ভাবছিলাম যে এটি একটি কনসোল অ্যাপ্লিকেশনটিতে । নেট ব্যবহারের মতো অক্ষর লিখতে পারা সম্ভব কিনা । আমি যখন এই চরিত্রটি লেখার চেষ্টা করি তখন কনসোলটি একটি প্রশ্ন চিহ্ন দেয়।

উত্তর:


201

সম্ভবত আপনার আউটপুট এনকোডিংটি ASCII তে সেট করা আছে। আউটপুট প্রেরণের আগে এটি ব্যবহার করার চেষ্টা করুন:

Console.OutputEncoding = System.Text.Encoding.UTF8;

(এমএসডিএন লিঙ্ক সমর্থনকারী ডকুমেন্টেশন।)

এবং এখানে একটি সামান্য কনসোল পরীক্ষা অ্যাপ্লিকেশনটি আপনাকে সহজেই পেতে পারেন:

সি শার্প

using System;
using System.Text;

public static class ConsoleOutputTest {
    public static void Main() {
        Console.OutputEncoding = System.Text.Encoding.UTF8;
        for (var i = 0; i <= 1000; i++) {
            Console.Write(Strings.ChrW(i));
            if (i % 50 == 0) { // break every 50 chars
                Console.WriteLine();
            }
        }
        Console.ReadKey();
    }
}

VB.NET

imports Microsoft.VisualBasic
imports System

public module ConsoleOutputTest 
    Sub Main()
        Console.OutputEncoding = System.Text.Encoding.UTF8
        dim i as integer
        for i = 0 to 1000
            Console.Write(ChrW(i))
            if i mod 50 = 0 'break every 50 chars 
                Console.WriteLine()
            end if
        next
    Console.ReadKey()
    End Sub
end module

এটিও সম্ভব যে আপনার কনসোল ফন্টের পছন্দটি সেই নির্দিষ্ট চরিত্রটিকে সমর্থন করে না। উইন্ডোজ টুল-বার মেনুতে ক্লিক করুন (সি: এর মতো আইকন) এবং বৈশিষ্ট্য -> ফন্ট নির্বাচন করুন। অন্য কিছু ফন্টগুলি দেখুন যাতে তারা আপনার চরিত্রটি সঠিকভাবে প্রদর্শন করে:

কনসোল ফন্ট সম্পাদনার ছবি


3
Console.OutputEncodingEncoding.Unicode(UTF-16) এ সেট করা যায় না । Encoding.UTF8তবে, সম্ভব।
সায়েব আমিনী

3
.NET 4.5 এ এবং পরে এছাড়াও ইউটিএফ -16 সমর্থিত
সামি কুহমনেন

4
এইচএম, এটি আমার পক্ষে কাজ করে না। আমি হিন্দি বা কোরিয়ান প্রিন্ট করার চেষ্টা করছি এবং ভাগ্য নেই
Quincy

1
ফন্টগুলির মধ্যে স্যুইচ করার পরে আপনার অ্যাপ্লিকেশনটি পুনঃসূচনা করার প্রয়োজন হতে পারে effect
মাইক কেসকিনভ

2
@ সেল: আমি খুঁজে পেয়েছি যে এনসিমসন চাইনিজ এবং জাপানিদের (পাশাপাশি ইংরেজি) জন্য কাজ করে।
kjhughes

11

আমি এমএসডিএন-তে কিছু মার্জিত সমাধান পেয়েছি

System.Console.Write('\uXXXX') //XXXX is hex Unicode for character

এই সাধারণ প্রোগ্রামটি সরাসরি স্ক্রিনে writes লিখেছেন।

using System;

public class Test
{
    public static void Main()
    {
        Console.Write('\u2103'); //℃ character code
    }
}

2
আসলেই ঝরঝরে! তবে আমি মনে করি গ্রহণযোগ্য উত্তরটি এখনও প্রযোজ্য - কনসোলটি ব্যবহার করছে এমন ফন্ট যদি ইউনিকোড অক্ষর সমর্থন করে না, তবে আমি বিশ্বাস করি যে এই উদাহরণটি কার্যকর হবে না। আমি তা পরীক্ষা করতে পারি না, যদিও এই মুহুর্তে আমার উইন্ডোজ কম্পিউটারে অ্যাক্সেস নেই।
স্যাম

হ্যাঁ, আমি বিশ্বাস করি স্যাম সঠিক। আমি উদাহরণস্বরূপ আটকে ছিলাম যে কমান্ড প্রম্পট ফন্টগুলি আমার অক্ষর সেটকে সমর্থন করে না।
ভিভারকে

9

কনসোল.আউটপুট এনকোডিং সম্পত্তি

http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx

নোট করুন যে কনসোলে সফলভাবে ইউনিকোড অক্ষর প্রদর্শনের জন্য নিম্নলিখিতগুলির প্রয়োজন:

  • কনসোলটিতে অক্ষর প্রদর্শনের জন্য লুসিডা কনসোল বা কনসোলসের মতো একটি ট্রু টাইপ ফন্ট ব্যবহার করা উচিত

8

ব্যতীত Console.OutputEncoding = System.Text.Encoding.UTF8;

কিছু অক্ষরের জন্য আপনাকে অতিরিক্ত ফন্টগুলি ইনস্টল করতে হবে (যেমন চীনা) Chinese

ইন উইন্ডোজ 10 প্রথম যেতে অঞ্চল & ভাষা সেটিংস এবং প্রয়োজনীয় ভাষার জন্য সমর্থন ইনস্টল: এখানে চিত্র বর্ণনা লিখুন

এর পরে আপনি কমান্ড প্রম্পট প্রোপার্টিগুলিতে যেতে পারেন (বা যদি আপনি পছন্দ করেন তবে ডিফল্ট) এবং আপনার ভাষা সমর্থন করে এমন কিছু ফন্ট চয়ন করতে পারেন ( চাইনিজ ক্ষেত্রে কাইটি ): এখানে চিত্র বর্ণনা লিখুন

এখন আপনি যেতে প্রস্তুত: এখানে চিত্র বর্ণনা লিখুন


অনেক ধন্যবাদ. কনসোল
হরফটি

0

এটি আমার পক্ষে কাজ করে:

Console.OutputEncoding = System.Text.Encoding.Default;

কয়েকটি প্রতীক প্রদর্শন করতে কমান্ড প্রম্পটের ফন্টটি লুসিডা কনসোলে সেট করতে হবে:

  1. কমান্ড প্রম্পট ওপেন করুন;

  2. কমান্ড প্রম্পটের উপরের বারে ডান ক্লিক করুন;

  3. বৈশিষ্ট্য ক্লিক করুন;

  4. যদি ফন্টটি রাস্টার ফন্টে সেট করা থাকে তবে এটি লুসিডা কনসোলে পরিবর্তন করুন।

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