2016-01-12 2 views
1

У меня есть большой текстовый документ 1Gig +, и я пытаюсь импортировать данные в базу данных MYSQL. Теперь я пройти через этот процесс, и я получаю следующую ошибкуКак удалить Emoji и специальные символы с помощью Vim?

OperationalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x91\\xBD T...' for column 'copyright' at row 24") 

Теперь от того, что я могу собрать это смайлики, который присутствует в значениях. Поскольку размер файла настолько велик, я использую VIM для фактического открытия документа для редактирования, однако проблема заключается в том, что при поиске вышеуказанных значений я не могу найти их нигде в текстовом документе.

Я делаю что-то неправильно или есть лучший подход?

Благодаря

+0

является CHARSET поля "copyright" UTF8? если не изменить его –

+0

Он установлен в UTF8, но я все еще получаю ошибку. Есть ли способ использовать командную строку для прохождения через .txt-файл и удалить все символы emjoi? – ORStudios

ответ

2

вы можете сделать это просто с СЭД

образец изменит свой код :-)

sed 's/\\\\xF0\\\\x9F\\\\x91\\\\xBD/:-)/g' yourfile.txt > newfile.txt 

и это изменит все 4 байт-кодов

sed 's/\\\\x[0-9A-F][0-9A-F]\\\\x[0-9A-F][0-9A-F]\\\\x[0-9A-F][0-9A-F]\\\\x[0-9A-F][0-9A-F]/:-)/g' x.txt 
Смежные вопросы