如何正确地将GB2312中的字符转换为PHP中的UTF-8?

时间:2019-03-12 15:34:54

标签: php utf-8 character-encoding gb2312 mb-convert-encoding

我有一些带有中文单词的变量,其字符集为GB2312。我想将它们转换为UTF-8,因为我想用utf-8编码将它们保存到mysql表中。 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为空

0 个答案:

没有答案