ODBC php Excel编码问题

时间:2015-06-01 09:05:03

标签: php excel encoding utf-8 odbc

我正在使用php与Excel文件进​​行ODBC连接。然而,当我遇到像“〜”,“^”,“'”这样的字符时,它们看起来像是这样:

Mês - > M +小号

Formação - > Forma ?? o

我正在进行以下utf-8处理以获取列名称:

$con = odbc_connect($odbcName, $dbUser, $dbPassword)
or die('failed');

//the Set NAMES utf8 doesn't work with excel.
//$try = odbc_exec($con, "SET NAMES utf8");

$rs = odbc_exec($con, utf8_encode($dbQuery))
or die('Erro no sql');
$intNumField = odbc_num_fields($rs);

for($i=1; $i<=$intNumField;$i++){
    $columns[] = utf8_decode(odbc_field_name($rs,$i));
}

文件本身已通过网络选项保存 - &gt;编码 - &gt; Unicode(UTF-8)。

我还应该在PHP中做些什么吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果有人遇到与我相同的问题,我会通过以下方式解决问题:

  1. 在excel文件中将编码更改为西欧(Windows-1252为UTF-8);
  2. 在PHP中从Windows-1252转换为UTF-8 - &gt; $ value = iconv(“Windows-1252”,“UTF-8”,$ auxVar);
  3. 值具有正确的编码。
  4. 由于某种原因,Excel中的UTF-8编码没有得到正确处理。