【发布时间】:2012-01-16 15:24:28
【问题描述】:
我继承了一个 MySQL 数据库,其中包含一个名为 Description of type text 和 collation of latin1_swedish_ci 的字段。
这个字段的问题是它包含带有一些 Unicode 字符的 utf-8 数据,例如字符 733 等。有时该字符也存在于以 HTML 编码的“˝”表示的字段中。
我正在尝试读取表格并将数据导出到 CSV 文件,我需要将此字符表示为双引号。
读取 HTML 编码的字符很容易。但是,实际的 Unicode 字符似乎在我可以对其执行任何操作之前转换为 utf-8,从而导致“?”。
如何读取 Unicode 字符 733 (U+02DD),识别并转换?
这是代码的简化(未经测试)版本。
<?
$testconn=odbc_connect ("TESTLIB", "......", "......");
$query="SELECT Description FROM TestTable";
$rsWeb=mysql_query($query));
$WebRow=mysql_fetch_row($rsWeb));
$Desc = $WebRow[0];
$Desc = str_replace('"','""',$Desc);
fwrite($output,"\"".$Desc."\",\r\n");
%>
【问题讨论】:
-
我试过 html_entity_decode()。但是,该字符已经转换为“?”在我有机会使用 html_entity_decode 之前使其无用。看起来它已转换为“?”在 mysql_fetch_row 或 mysql_query 期间。
标签: php mysql string unicode utf-8