Как правильно конвертировать символы в GB2312 в UTF-8 в PHP? - PullRequest
0 голосов
/ 12 марта 2019

У меня есть переменные с китайскими словами, их кодировка GB2312. Я хочу преобразовать их в UTF-8, потому что я хочу сохранить их в таблицу mysql с кодировкой utf-8. Как это сделать на PHP? Я использую PHP 7.

Вот что я пробовал:

  1. Я пытался использовать $myvar = iconv('gb2312', 'utf-8', $myvar); Однако некоторые из моих переменных становятся пустыми, если они содержат несколько символов (возможно, недопустимые символы UTF-8?)
  2. Я пытался использовать $myvar = mb_convert_encoding($myvar, 'UTF-8', 'GB2312'); Он работает лучше, чем iconv, но когда $myvar содержит некоторые символы, как я уже упоминал выше, они превращаются в знак вопроса (?)

Пожалуйста, помогите мне, спасибо

Обновление Вот пример моей китайской строки:

  • GB2312 (ожидаемый результат): 第 3 章 ︰ 林鴻
  • Использование mb_convert_encoding становится: 第 3 章? 林?
  • Использование iconv становится пустым
...