কোন এনকোডিংটি ম্যাক এবং উইন্ডোজ উভয়ই এক্সেলের সাথে সিএসভি ফাইলগুলি সঠিকভাবে খোলে?


137

আমাদের কাছে একটি ওয়েব অ্যাপ রয়েছে যা ইউটিএফ -8 সহ বিদেশী অক্ষরযুক্ত সিএসভি ফাইল রফতানি করে, কোনও বিওএম নেই। উইন্ডোজ এবং ম্যাক উভয় ব্যবহারকারীই এক্সেলের জঞ্জাল অক্ষর পান। আমি বিওএম দিয়ে ইউটিএফ -8 এ রূপান্তর করার চেষ্টা করেছি; এক্সেল / উইন এটির সাথে ভাল, এক্সেল / ম্যাক জিব্বারিশ দেখায়। আমি এক্সেল 2003 / উইন, এক্সেল 2011 / ম্যাক ব্যবহার করছি। এখানে চেষ্টা করা সমস্ত এনকোডিং এখানে রয়েছে:

Encoding  BOM      Win                            Mac
--------  ---      ----------------------------   ------------
utf-8     --       scrambled                      scrambled
utf-8     BOM      WORKS                          scrambled
utf-16    --       file not recognized            file not recognized
utf-16    BOM      file not recognized            Chinese gibberish
utf-16LE  --       file not recognized            file not recognized
utf-16LE  BOM      characters OK,                 same as Win
                   row data all in first field

সেরাটি হ'ল বিওএম সহ ইউটিএফ -১LE এলই, তবে সিএসভি তেমন স্বীকৃত নয়। ক্ষেত্র বিভাজক কমা, কিন্তু সেমিকোলন জিনিস পরিবর্তন করে না।

উভয় পৃথিবীতে কাজ করে এমন কোনও এনকোডিং রয়েছে?


1
আপনি যদি সমস্ত ক্ষেত্রের ডেটার জন্য UTF-16LE ব্যবহার করেন তবে কমাতে 8 বিট / এএসসিআইআই অক্ষর ব্যবহার করেন? এই নিবন্ধটির উপর ভিত্তি করে ( creativyst.com/ ডক / আর্টিকেলস / সিএসভি / সিএসভি01.htm#CSVAndEncodings ) এক্সেল বিভাজকের পরিবর্তে ফিল্ড ডেটার অংশ হিসাবে ইউনিকোড কমা ব্যাখ্যা করতে পারে।
jwazey

1
আকর্ষণীয় টিপ @ জাভেয়াজে। আমি এটি চেষ্টা করব: mb_convert_encoding($str, "UTF-16LE");আমার এক্সপোর্ট কোডে এবং ফলাফলগুলি এখানে পোস্ট করুন।
টিমম

এটি আপনাকে সহায়তা করে না, তবে আমি উইন্ডোজে এক্সেল 2007 এসপি 2 পরীক্ষা করেছি (পরীক্ষার ফাইলগুলি তৈরি করতে নোটপ্যাড 2 ব্যবহার করে)। UTF-16LE BOM (উইন্ডোজে আপনার একই ফলাফল) এবং UTF-16BE BOM (যা ক্ষেত্রগুলি সঠিকভাবে পার্স করেছে তবে B1 এ 1-এ প্রথম 2 টি অক্ষর হিসাবে অন্তর্ভুক্ত ছিল) বাদে সবকিছুই কাজ করেছিল।
jveazey

এছাড়াও, এই পাওয়া stackoverflow.com/questions/155097/...
jveazey

@ হোভেজি, উদ্ধৃত প্রশ্নের ক্রিয়েচির কোডোপেজ উইন্ডোজ -১২২২ প্রস্তাব দেওয়ার একটি উত্তর রয়েছে। এটি আমার মামলার পক্ষে কাজ করে নি (জার্মান উমলাট এবং তীক্ষ্ণ গুলি)।
টিম্ম

উত্তর:


61

এক্সেল এনকোডিংস

WINDOWS-1252এক্সেলের সাথে কাজ করার সময় আমি এনকোডিংটি সর্বনিম্ন হতাশাজনক বলে মনে করেছি। মূলত মাইক্রোসফ্টসের মালিকানাধীন স্বত্বের অক্ষর সেট হওয়ায়, কেউ এটি ম্যাক এবং এমএস-এক্সেলের উইন্ডোজ সংস্করণ উভয়তেই কাজ করবে বলে ধরে নিতে পারে। উভয় সংস্করণে অন্তত কোনও "ফাইল উত্স" বা "ফাইল এনকোডিং" নির্বাচনকারী অন্তর্ভুক্ত রয়েছে যা সঠিকভাবে ডেটা পড়ে।

আপনার সিস্টেমে এবং সরঞ্জাম আপনি ব্যবহার করেন তার উপর নির্ভর করে, এই এনকোডিং এছাড়াও নামে যেতে পারে CP1252, ANSI, Windows (ANSI), MS-ANSIবা শুধু Windows, অন্যান্য বৈচিত্র মধ্যে।

এই এনকোডিংটি ISO-8859-1(ওরফে LATIN1এবং অন্যান্য) সুপারসেট , সুতরাং আপনি ISO-8859-1যদি WINDOWS-1252কোনও কারণে ব্যবহার না করতে পারেন তবে আপনি ফ্যালব্যাক করতে পারেন । এখানে প্রদর্শিত হিসাবে ISO-8859-1কিছু অক্ষর অনুপস্থিত পরামর্শ দেওয়া হচ্ছে WINDOWS-1252:

| Char | ANSI | Unicode | ANSI Hex | Unicode Hex | HTML entity | Unicode Name                               | Unicode Range            |
| €    | 128  | 8364    | 0x80     | U+20AC      | €      | euro sign                                  | Currency Symbols         |
| ‚    | 130  | 8218    | 0x82     | U+201A      | ‚     | single low-9 quotation mark                | General Punctuation      |
| ƒ    | 131  | 402     | 0x83     | U+0192      | ƒ      | Latin small letter f with hook             | Latin Extended-B         |
| „    | 132  | 8222    | 0x84     | U+201E      | „     | double low-9 quotation mark                | General Punctuation      |
| …    | 133  | 8230    | 0x85     | U+2026      | …    | horizontal ellipsis                        | General Punctuation      |
| †    | 134  | 8224    | 0x86     | U+2020      | †    | dagger                                     | General Punctuation      |
| ‡    | 135  | 8225    | 0x87     | U+2021      | ‡    | double dagger                              | General Punctuation      |
| ˆ    | 136  | 710     | 0x88     | U+02C6      | ˆ      | modifier letter circumflex accent          | Spacing Modifier Letters |
| ‰    | 137  | 8240    | 0x89     | U+2030      | ‰    | per mille sign                             | General Punctuation      |
| Š    | 138  | 352     | 0x8A     | U+0160      | Š    | Latin capital letter S with caron          | Latin Extended-A         |
| ‹    | 139  | 8249    | 0x8B     | U+2039      | ‹    | single left-pointing angle quotation mark  | General Punctuation      |
| Œ    | 140  | 338     | 0x8C     | U+0152      | Œ     | Latin capital ligature OE                  | Latin Extended-A         |
| Ž    | 142  | 381     | 0x8E     | U+017D      |             | Latin capital letter Z with caron          | Latin Extended-A         |
| ‘    | 145  | 8216    | 0x91     | U+2018      | ‘     | left single quotation mark                 | General Punctuation      |
| ’    | 146  | 8217    | 0x92     | U+2019      | ’     | right single quotation mark                | General Punctuation      |
| “    | 147  | 8220    | 0x93     | U+201C      | “     | left double quotation mark                 | General Punctuation      |
| ”    | 148  | 8221    | 0x94     | U+201D      | ”     | right double quotation mark                | General Punctuation      |
| •    | 149  | 8226    | 0x95     | U+2022      | •      | bullet                                     | General Punctuation      |
| –    | 150  | 8211    | 0x96     | U+2013      | –     | en dash                                    | General Punctuation      |
| —    | 151  | 8212    | 0x97     | U+2014      | —     | em dash                                    | General Punctuation      |
| ˜    | 152  | 732     | 0x98     | U+02DC      | ˜     | small tilde                                | Spacing Modifier Letters |
| ™    | 153  | 8482    | 0x99     | U+2122      | ™     | trade mark sign                            | Letterlike Symbols       |
| š    | 154  | 353     | 0x9A     | U+0161      | š    | Latin small letter s with caron            | Latin Extended-A         |
| ›    | 155  | 8250    | 0x9B     | U+203A      | ›    | single right-pointing angle quotation mark | General Punctuation      |
| œ    | 156  | 339     | 0x9C     | U+0153      | œ     | Latin small ligature oe                    | Latin Extended-A         |
| ž    | 158  | 382     | 0x9E     | U+017E      |             | Latin small letter z with caron            | Latin Extended-A         |
| Ÿ    | 159  | 376     | 0x9F     | U+0178      | Ÿ      | Latin capital letter Y with diaeresis      | Latin Extended-A         |

নোট করুন যে ইউরো চিহ্নটি অনুপস্থিত । এই টেবিলটি অ্যালান উডে পাওয়া যাবে ।

রূপান্তর

রূপান্তরকরণ প্রতিটি সরঞ্জাম এবং ভাষায় আলাদাভাবে করা হয়। তবে, ধরুন আপনার কাছে এমন একটি ফাইল রয়েছে query_result.csvযা আপনি জানেন যা UTF-8এনকোড করা আছে। এটি WINDOWS-1252ব্যবহার করে রূপান্তর করুন iconv:

iconv -f UTF-8 -t WINDOWS-1252 query_result.csv > query_result-win.csv

6
কিছুটা ত্রুটিযুক্ত, তবে এটি ম্যাক ওএসএক্স-এ এক্সেল-এ ইউরোপীয় অক্ষর সহ .csv ফাইলগুলি আমদানির জবাব বলে মনে হচ্ছে
ফারজি

1
সত্য। এটি পরিবর্তে ওপি-র প্রশ্নের উত্তর দেয়। আপনার ক্ষেত্রে আপনাকে প্রথমে আপনার ".csv ফাইলটিতে ইউরোপীয় অক্ষর সহ" ব্যবহৃত এনকোডিংটি (বা অনুমান) জানতে হবে। তারপরে আপনি এটিকে রূপান্তর করতে পারেন WINDOS-1252যা সম্ভবত ম্যাক এবং উইন্ডোজ এক্সেল উভয়েরই সঠিকভাবে ব্যাখ্যা করা হবে।
মাইকেজটার

1
এটি কোনও আসল সমাধান নয়, খুব শীঘ্রই আপনি এমন একটি চরিত্রটি দেখতে পাবেন যা উইন্ডোজ -১২২২ এ রূপান্তরযোগ্য নয়।
ওয়াল্টার ট্রস

2
চীনা অক্ষর থাকলে উইন্ডোজ -১২২২ ব্যর্থ হবে। সুতরাং দেখে মনে হচ্ছে যে বিওএম সহ ইউটিএফ -16 এলই একমাত্র বিকল্প।
এক্সওয়াং

এটি ডায়াক্রিটিক্স সহ এসকিউএল ডেটা রফতানির জন্য ভাল কাজ করে।
মোটরবাবি

26

বিওএমের সাথে ইউটিএফ -১ For এলএর জন্য যদি আপনি কমা এক্সেলের পরিবর্তে ট্যাব অক্ষরগুলি আপনার ডিলিমিটার হিসাবে ব্যবহার করেন তবে ক্ষেত্রগুলি স্বীকৃত হবে। এটি কাজ করার কারণ হ'ল এক্সেলটি আসলে তার ইউনিকোড * .txt পার্সার ব্যবহার করে শেষ হয়।

ক্যাভেট : ফাইলটি যদি এক্সেলে সম্পাদনা করা হয় এবং সেভ করা হয় তবে এটি ট্যাব-বিস্মৃত ASCII হিসাবে সংরক্ষণ করা হবে। এখন সমস্যাটি হ'ল আপনি যখন ফাইলটি পুনরায় খোলেন এক্সেল ধরে নিলে এটি আসল সিএসভি (কমা সহ) দেখবে যে এটি ইউনিকোড নয়, সুতরাং এটি কমা-বিস্মৃত হিসাবে পার্স করে - এবং এর ফলে এটি একটি হ্যাশ তৈরি করবে!

আপডেট : উপরের ক্যাভিয়েটটি আজ আমার পক্ষে কমপক্ষে এক্সেল 2010 (উইন্ডোজ) এ ঘটছে বলে মনে হয় না, যদিও সংরক্ষণের আচরণে কিছুটা পার্থক্য রয়েছে বলে মনে হয় যদি:

  • আপনি এক্সেল সম্পাদনা এবং প্রস্থান করেন ('ইউনিকোড * .txt' হিসাবে সংরক্ষণের চেষ্টা করেন)

তুলনা করা:

  • কেবল ফাইল সম্পাদনা এবং বন্ধ করা (প্রত্যাশার মতো কাজ করে)।

1
দুর্দান্ত, তবে ক্যাভিয়েট আমার জন্য সমাধানটি ভেঙে দিয়েছে; শেষ ব্যবহারকারীরা ভাঙা এক্সেল শীট নিয়ে খুশি হবেন না।
টিম্ম

সম্ভবত আপনি যদি প্রাথমিক ফাইল এক্সটেনশনটিকে * .txt এ পরিবর্তন করেন তবে এটি কাজ করবে তবে আপনি ফাইল টাইপ এবং এক্সেলের মধ্যে সংযোগ হারাবেন: অর্থাৎ তারা ফাইলটিতে ডাবল-ক্লিক করতে পারবেন না এবং এটি স্বয়ংক্রিয়ভাবে এক্সলে খুলতে পারবেন।
ডানকান স্মার্ট

এটি আমার পক্ষে কাজ করবে না। কম্পিউটার-বুদ্ধিমান না হয়ে, শেষ ব্যবহারকারীর কোনও প্রকার বাধা ছাড়াই এটি এক্সলে খুলতে হবে।
টিম

আমার আমার ".csv" এক্সেল শিটগুলি বিশেষ অক্ষর এবং পৃথক ক্ষেত্রগুলির সাথে ভাল দেখাচ্ছে। আমি আমার আউটপুট স্ট্রিংটি "\ ufeff" দিয়ে বাইট অর্ডার চিহ্ন (বিওএম) হিসাবে শুরু করি, তারপরে ক্ষেত্র বিভাজনের জন্য কমাগুলির জায়গায় "\ t" ট্যাবগুলি ব্যবহার করে এবং "utf-16LE" দিয়ে ফাইলটি এনকোড করছি। আকর্ষণীয় মত কাজ করে, এই পৃষ্ঠায় ধন্যবাদ!
গীক স্টক

প্রথম লাইন sep=,এবং UTF16LE এনকোডিং আমার পক্ষে কাজ করেছে এবং আলাদা বিভাজক চরিত্রের প্রয়োজন নেই (এটি কমাতে থেকে যায়)। ডাবল-ক্লিক করে ফাইলটি খোলার মাধ্যমে ফাইলটি সঠিকভাবে লোড করা হয়েছে, বিশেষ অক্ষর এবং লাইন ব্রেকগুলি অক্ষত রয়েছে cells ডাউনসাইড: sep=,হেডারটি আমি যতদূর দেখেছি এক্সেল ব্যতীত কোনও প্রোগ্রাম দ্বারা স্বীকৃত নয়। তবে ওপেনঅফিস / লিব্রেঅফিসে যাইহোক এই হ্যাকের প্রয়োজন নেই (সেল সামগ্রীতে লাইন ব্রেকগুলি ঠিক ঠিক কাজ করে, অন্যদিকে পাঠ্য ফাইল থেকে লোড করা / এক্সেলটিতে কলাম সহকারীতে পাঠ্যটি ব্যবহার করে কোষগুলিতে লাইন ব্রেকগুলি সঠিকভাবে পরিচালনা করে না)।
কোডম্যানএক্স

24

নিচুতা হ'ল: সমাধান নাই। এক্সেল ২০১১ / ম্যাক আপনি যে এনকোডিং বা হুপ জাম্পিংই করেন না কেন আমলাত এবং ডায়াক্রিটিকাল চিহ্নযুক্ত একটি সিএসভি ফাইল সঠিকভাবে ব্যাখ্যা করতে পারে না। কেউ আমাকে আলাদা বলতে শুনে খুশি হবেন!


4
আমি WIN-1252 বা আইএসও -8859-1 এনকোডিংগুলি কাজ করতে দেখলাম। আমার উত্তর দেখুন।
মাইকেজটার

3
সমাধানটি হ'ল ইউটিএফ -১LE এলএ ব্যবহার করা এবং এটি নিশ্চিত করা যে আপনার ট্যাগগুলি কমাগুলির পরিবর্তে পৃথক কলামগুলিতে পৃথক করছে।
টিম গ্রিনিভেল্ড

উইন এবং ম্যাক টিমে আপনি কি সত্যিই চেষ্টা করে দেখেছেন? যেমনটি আমি উল্লেখ করেছি, টিএসভি আমার ক্ষেত্রে কোনও বিকল্প নয়।
টিম

1
আমার জন্য, আমি যদি ম্যাক এবং এক্সেলের উভয় উইন্ডোজ সংস্করণে WIN-1252 এনকোডিং ব্যবহার করি তবে রফতানি ঠিকঠাক কাজ করে। @ টিম, আপনার গৃহীত উত্তর পরিবর্তন করার বিষয়টি বিবেচনা করা উচিত।
পিয়েরে

2
এই কাজটি খুঁজে পাওয়া লোকদের জন্য, আপনি কি আপনার ডেটাসেটগুলিতে প্রকৃতপক্ষে (চাইনিজ) অক্ষরগুলি প্রসারিত করেছেন? WIN-1252 এনকোডিংগুলি এগুলির বিরতি দেয় কারণ তারা সীমার বাইরে।
বিল লিপার

11

আপনি কেবল কমা-বিচ্ছিন্ন এবং সেমিকোলন-বিচ্ছিন্ন সিএসভি চেষ্টা করেছেন। আপনি যদি ট্যাব-বিচ্ছিন্ন সিএসভি (টিএসভি নামে পরিচিত) ব্যবহার করে থাকেন তবে আপনি উত্তরটি খুঁজে পেতেন:

বিওএম (বাইট অর্ডার চিহ্ন) সহ ইউটিএফ -16 এলএ , ট্যাব-বিচ্ছিন্ন


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

এবং হ্যাঁ, আমি উইন্ডোজ এবং ম্যাক এ চেষ্টা করেছিলাম।


4

ম্যাকের জন্য এক্সএল 2011-এ utf8- এনকোডেড সিএসভি আমদানির ক্লিঞ্জার এখানে রয়েছে: মাইক্রোসফ্ট বলেছেন: "ম্যাকের জন্য এক্সেল বর্তমানে ইউটিএফ -8 সমর্থন করে না।" ম্যাক 2011 এবং ইউটিএফ -8 এর জন্য এক্সেল

হ্যাঁ, এমএস করার উপায়!


4

ম্যাকের ইউটিএফ -8 সহ সিএসভি ফাইলগুলি পড়ার জন্য সর্বোত্তম কাজ হ'ল এগুলিকে এক্সএলএসএক্স ফর্ম্যাটে রূপান্তর করা। আমি কনরাড ফোয়ার্সটনার দ্বারা নির্মিত একটি স্ক্রিপ্ট পেয়েছি, যা আমি বিভিন্ন বিসীমাযুক্ত চরিত্রের জন্য সমর্থন যোগ করে কিছুটা উন্নতি করেছি।

গিথব https://github.com/brablc/clit/blob/master/csv2xlsx.py থেকে স্ক্রিপ্টটি ডাউনলোড করুন । যাতে এটা চালানোর জন্য আপনি একটি পাইথন মডিউল ইনস্টল করতে হবে openpyxl এক্সেল ফাইল ম্যানিপুলেশন জন্য: sudo easy_install openpyxl


3

আমার ক্ষেত্রে এটি কাজ করেছে (ম্যাক, এক্সেল ২০১১, চেক ডায়রিটিক্স সহ সিরিলিক এবং ল্যাটিন উভয় অক্ষর):

  • চরসেট UTF-16LE (কেবলমাত্র ইউটিএফ -16 যথেষ্ট ছিল না)
  • বিওএম "\ xFF \ xFE"
  • separa t (ট্যাব) বিভাজক হিসাবে
  • বিভাজক এবং সিআরএলএফগুলিও এনকোড করতে ভুলবেন না :-)
  • Mb_convert_encoding এর পরিবর্তে আইকনভি ব্যবহার করুন

2

আমার ক্ষেত্রে মনে হচ্ছে ম্যাক ওএসের জন্য এক্সেল ২০১১ এনকোডিং ব্যবহার করছে না et গেটস এনকোডিং ("10000") মাইক্রোসফ্ট ওএসের মতো একই আইসো সহ 2 দিন নষ্ট করেছি। এর সর্বোত্তম প্রমাণ হ'ল বিশেষ অক্ষরের সাহায্যে ম্যাকের জন্য এক্সেল ২০১১ এ একটি ফাইল তৈরি করা, এটি সিএসভি হিসাবে সংরক্ষণ করুন এবং তারপরে এটি ম্যাক পাঠ্য সম্পাদকটিতে খুলুন এবং অক্ষরগুলি স্ক্যাম্বলড হয়।

আমার জন্য এই পদ্ধতির কাজ হয়েছিল - এর অর্থ ম্যাক ওএসের এক্সেল ২০১১ এর সিএসভি রফতানির ভিতরে বিশেষ পশ্চিমা ইওরোপীয় অক্ষর রয়েছে:

Encoding isoMacOS = Encoding.GetEncoding("iso-8859-1");
Encoding defaultEncoding = Encoding.Default; 

// Convert the string into a byte array.
byte[] defaultEncodingBytes = defaultEncoding.GetBytes(exportText);

// Perform the conversion from one encoding to the other.
byte[] ansiBytes = Encoding.Convert(defaultEncoding, isoMacOS, defaultEncodingBytes);

decodedString = isoMacOS.GetString(ansiBytes);

আপনি কোন ব্যবহারকারী @ ব্যবহারকারী ৫২৫০৮১ ব্যবহার করছেন? আপনি এটি পিএইচপি অনুবাদ করতে পারেন?
টিম

@ টিম যা জাভা নমুনার মতো দেখায় তবে পিএইচপি-তে আপনি রূপান্তরটি করতে আইকনভিভ
আশীষ দত্ত

ঠিক আছে @ user525081, অন্যান্য উত্তরগুলির মতো একই চুক্তি। এটি ম্যাক ব্যবহারকারীদেরকে সরবরাহ করে, উইন্ডোজ লোকেদের তদারক করে; এবং এটি আসল প্রশ্নের উত্তর দেয় না - একটি এনকোডিং যা উভয় প্ল্যাটফর্মে কাজ করে। ধন্যবাদ।
টিম্ম

2

কোনও বিওএমবিহীন ইউটিএফ -8 বর্তমানে এক্সেল ম্যাক ২০১১ 14.3.2 এ আমার জন্য কাজ করে।

ইউটিএফ -8 + বিওএম ধরণের কাজ করে তবে বিওএম গিব্বারিশ হিসাবে উপস্থাপন করে।

আপনি যদি ফাইলটি আমদানি করেন এবং উইজার্ডটি সম্পূর্ণ করেন তবে ইউটিএফ -১ works কাজ করে, তবে আপনি কেবল এটি ডাবল-ক্লিক করলেই নয়।


2

নিম্নলিখিতগুলি ম্যাক 2011 এবং উইন্ডোজ এক্সেল 2002 এর জন্য এক্সেলের জন্য আমার পক্ষে কাজ করেছে:

  1. ম্যাকের আইকনভি ব্যবহার করে ফাইলটি ইউটিএফ -16 লিটল-এন্ডিয়ানে রূপান্তর করুন + এটি নাম * টেক্সট করুন (টেক্সট এক্সটেনশন এক্সেলকে পাঠ্য আমদানি উইজার্ড চালাতে বাধ্য করে):

    iconv -f UTF-8 -t UTF-16LE filename.csv >filename_UTF-16LE.csv.txt

  2. এক্সেল এবং পাঠ্য আমদানি উইজার্ডে ফাইলটি খুলুন:

    • পদক্ষেপ 1: ফাইলের উত্স : এটিকে উপেক্ষা করুন, আপনি যা পছন্দ করেন তা বিবেচ্য নয়
    • পদক্ষেপ 2: ডিলিমিটার এবং পাঠ্য বাছাইয়ের জন্য উপযুক্ত মান নির্বাচন করুন
    • পদক্ষেপ 3: প্রয়োজনে কলামের ফর্ম্যাট নির্বাচন করুন

পিএস আইকনভের তৈরি ইউটিএফ -16 এলই-এর শুরুতে বিওএম বাইটস এফএফ ফে রয়েছে FE

পিপিএস আমার মূল সিএসভি ফাইলটি উইন্ডোজ 7 কম্পিউটারে তৈরি হয়েছিল ইউটিএফ -8 ফর্ম্যাটে (শুরুতে বিওএম বাইটস ইএফ বিবি বিএফের সাহায্যে) এবং ব্যবহৃত সিআরএলএফ লাইন ব্রেকগুলি। কমাটি ফিল্ড ডিলিমিটার এবং একক উদ্ধৃতি হিসাবে পাঠ্য বাছাইকারী হিসাবে ব্যবহৃত হত। এটিতে ASCII অক্ষর এবং টিল্ডস, উমলাউট ইত্যাদি সহ বিভিন্ন ল্যাটিন অক্ষর, এবং কিছু সিরিলিক রয়েছে। উইন এবং ম্যাক উভয়ই এক্সেলের জন্য সমস্ত সঠিকভাবে প্রদর্শিত হয়।

পিপিপিএস
নির্ভুল সফ্টওয়্যার সংস্করণ: * ম্যাক ওএস এক্স 10.6.8
* ম্যাক ২০১১ এর জন্য এক্সেল v.14.1.3
* উইন্ডোজ সার্ভার 2003 এসপি 2
* উইন্ডোজ এক্সেল 2002 v.10.2701.2625


আপনার যদি বিওএম ছাড়াই কোনও ইউটিএফ -8 ফাইল থাকে, আইকনভিও এটিকে বিওএম ছাড়াই ইউটিএফ -16 এলএতে রূপান্তরিত করবে (এবং দুর্ভাগ্যক্রমে আইকনভিটিকে একটি যুক্ত করার কোনও উপায় নেই)
ওয়াল্টার ট্রস

2

আমার ম্যাক ওএসে, পাঠ্য র‌্যাংলার এক্সেল দিয়ে তৈরি একটি সিএসভি ফাইলকে "ওয়েস্টার্ন" এনকোডিং হিসাবে চিহ্নিত করেছে।

কিছুটা গুগল করার পরে আমি এই ছোট স্ক্রিপ্টটি তৈরি করেছি (উইন্ডোজ উপলভ্যতা সম্পর্কে আমি নিশ্চিত নই, সম্ভবত সাইগউইনের সাথে ?):

$ বিড়াল / মার্কিন / লোকাল / বিন / আউটফ 8.শ

#!/bin/bash

INPUTFILE="$1"

iconv -f macroman -c -t UTF-8 $INPUTFILE |tr '\r' '\n' >/tmp/file.$$.csv

mv $INPUTFILE ms_trash
mv /tmp/file.$$.csv $INPUTFILE

ওএস এক্স 10.14.2 (এবং এক্সেল 2011)
ডোনাল্ড

1

আমার ক্ষেত্রে ফাইলের প্রিমেবল যুক্ত করা আমার সমস্যার সমাধান করেছে:

var data = Encoding.UTF8.GetBytes(csv);
var result = Encoding.UTF8.GetPreamble().Concat(data).ToArray();
return File(new MemoryStream(result), "application/octet-stream", "data.csv");

0

সিএসভির পরিবর্তে, এক্সএলএস এক্সটেনশান এবং "অ্যাপ্লিকেশন / এক্সেল" মাইম-টাইপ সহ এইচটিএমএল আউটপুট দেওয়ার চেষ্টা করে। আমি জানি এটি উইন্ডোজে কাজ করবে, তবে ম্যাকওএসের পক্ষে কথা বলতে পারে না


ধন্যবাদ @ রইস 23, তবে আমি কেবল ডাউনলোডের জন্য সিএসভি ফাইল দিচ্ছি। আমি এটি HTTP- র মাধ্যমে উপস্থাপন করতে পারছি না কারণ মার্কআপের নিখুঁত আকারটি একটি ক্রলের প্রতিক্রিয়াটি ধীর করে দেবে - রফতানি টেবিলটিতে কয়েক মিলিয়ন সারি থাকতে পারে ...
টিম

সিএসএস সহ আপনার এইচটিএমএলটি কেবলমাত্র সিএসভির চেয়ে ছোট একটি ভগ্নাংশ হতে পারে, উদাহরণস্বরূপ: <r> <c> আইডি </ c> <c> নাম </ c> <c>
আইফোন

আমি বুঝতে পেরেছি কিনা তা নিশ্চিত নয় তবে আমি সিএসভি সার্ভারে সংরক্ষণ করছি এবং ডাউনলোড লিঙ্ক দিচ্ছি। এইচটিএমএল রেসপন্স তৈরি করা খুব বেশি পিএইচপি মেমোরি আপ করে ...
টিম

এটি (ইউটিএফ -8 অক্ষর) কাজ করবে তবে আপনার যদি brmso-data-placement:same-cell;
ঘরগুলিতে

0

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

  1. বিবিইডিট বা টেক্সটরঙ্গলার * এ ফাইলটি খুলুন।
  2. ফাইলটি ইউনিকোড হিসাবে সেট করুন (ইউটিএফ -16 লিটল-এন্ডিয়ান) (লাইন এন্ডিংস ইউনিক্স বা উইন্ডোজ হতে পারে)। সংরক্ষণ!
  3. এক্সেলে ইন: ডেটা> বাহ্যিক ডেটা পান> পাঠ্য ফাইল আমদানি করুন ...

এখন মূল বিষয়, ম্যাকআইন্টোষকে ফাইলের উত্স হিসাবে বেছে নিন (এটি প্রথম পছন্দ হওয়া উচিত)।

এটি এক্সেল 2011 ব্যবহার করছে (সংস্করণ 14.4.2)

উইন্ডোর নীচে একটি সামান্য ড্রপডাউন আছে


0

জাভা ব্যবহার করে এটি সমাধান করুন (বিওএম সহ ইউটিএফ -16 এলই):

String csvReportStr = getCsvReport();
byte[] data = Charset.forName("UTF-16LE").encode(csvReportStr)
    .put(0, (byte) 0xFF)
    .put(1, (byte) 0xFE)
    .array();

নোট করুন যে CSV ফাইলটি ব্যবহার করা উচিত TAB বিভাজক হিসাবে করা । আপনি উইন্ডোজ এবং ম্যাক ওএস এক্স উভয় সিএসভি ফাইলটি পড়তে পারেন।

দেখুন: আমি কীভাবে কোনও বিওএম দিয়ে ইউটিএফ -16 এলএ বাইট অ্যারে এনকোড / ডিকোড করব?

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