Psql এর জন্য utf-8 এ এনকোড করা একটি mysqldump ফাইল কীভাবে পেতে পারি?


0

আমি একটি MySQL ডাটাবেস (v5.1.44 / MyISAM / collation = latin1_swedish_ci) থেকে একটি পোস্টগ্রেএসকিউএল (v9.0.4 / OSX সিংহটিতে অন্তর্ভুক্ত একটি) থেকে কিছু তথ্য স্থানান্তরিত করছি।

আমি ব্যাবহার করছি

$ mysqldump --compatible=postgresql > tmp.sql # output create/insert statements
$ psql --command='\i tmp.sql' # import to postgresql

তবে আমদানি ত্রুটি সঙ্গে ব্যর্থ হয় ERROR: invalid byte sequence for encoding "UTF8": 0xe97261 (এই উচ্চারিত অক্ষরের রেফারেন্স হয়)।

সমস্যা, আমি মনে করি, এক্সপোর্ট করা ফাইল হচ্ছে utf-8 ব্যবহার করা হচ্ছে না।

এক্সপোর্ট করা ফাইল নিম্নলিখিত ফাইল তথ্য দেখায়

$ file tmp.sql
tmp.sql: Non-ISO extended-ASCII text, with very long lines

সবচেয়ে সহজ, স্ক্রিপ্টেবল psql জন্য utf-8 এই ফাইল পেতে উপায়?

এটা কাজ করে না:

$ iconv -f ASCII -t UTF-8 tmp.sql > out.sql
iconv: tmp.sql:18:59270: cannot convert

আমি যে ফাইল খোলার পাওয়া করেছি vim এবং প্রদান :set fenc=utf-8 আমদানিটি সহজে চালানো হয়, তবে এটি স্বয়ংক্রিয় হতে হবে তাই আমাকে এই ম্যানুয়াল ধাপে কাটাতে হবে।


আপনি চেষ্টা করেছেন: mysqldump --default-character-set = charset_name?
Carlos

@ মাষ্টাশেক 57, আমি চেষ্টা করেছিলাম না এবং add-default-character-set = utf8 প্রকৃতপক্ষে আমার সমস্যা সমাধান করে। যদি আপনি উত্তর হিসাবে যে লিখুন আমি এটা গ্রহণ করা হবে। চিয়ার্স।
davur

উত্তর:


1

নিম্নলিখিত চেষ্টা করুন:

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