我继承了一个 MySQL 数据库,其中包含名为“描述”的字段,类型为文本,排序规则为 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");
%>
最佳答案
连接 SQL Server 时将字符集设置为 utf-8:
http://php.net/manual/en/mysqli.set-charset.php
$mysqli->set_charset("utf8");
关于php - 使用 PHP 从 MySQL 读取 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882112/