0

我正在使用一个简单的表单将字符串写入数据库,但是大引号(在检索时)被显示为特殊字符。

到目前为止,我已经尝试将表排序规则更改为 UTF-8 以及使用 CodeIgniter Typography 类:

 1. alter table test.vocab convert to character set utf8 collate
    utf8_unicode_ci;
 2. $this->load->library('typography'); 
    $data['item'] = $this->typography->auto_typography($data['item'], FALSE);

不过,这并没有帮助。这是输出的样子:

在此处输入图像描述

如果需要,我会发布更多代码。请帮忙。

4

2 回答 2

2

谢谢大家,但似乎我需要的是mb_convert_encoding()功能:

$i['item'] = mb_convert_encoding($i['item'], 'HTML-ENTITIES', 'UTF-8');

非常感谢您抽出时间发表评论或回答。

于 2013-10-17T15:33:15.103 回答
0

我在迁移的数据库中遇到了类似的问题。原来我需要将“UTF-8”转换为“Windows-1252”。

我通过运行下面的代码并检查哪个组合看起来正确发现了:

$html = 'Your HTML here';


$charsets = array(  
    "UTF-8", 
    "ASCII", 
    "Windows-1252", 
    "ISO-8859-15", 
    "ISO-8859-1", 
    "ISO-8859-6", 
    "CP1256"
    ); 


 foreach ($charsets as $ch1) { 
      foreach ($charsets as $ch2){ 
       echo "<h1>Combination $ch1 to $ch2 produces: </h1>".iconv($ch1, $ch2, $html); 
    } 
} 
于 2013-10-17T05:49:39.263 回答