我正在使用一个简单的表单将字符串写入数据库,但是引号(在检索时)显示为特殊字符。
到目前为止,我已尝试将表格排序更改为UTF-8以及使用CodeIgniter排版类:
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);
但是,这并没有帮助。这是输出的样子:
如果需要,我会发布更多代码。请帮忙。
答案 0 :(得分:2)
谢谢大家,但似乎我需要的是mb_convert_encoding()
功能:
$i['item'] = mb_convert_encoding($i['item'], 'HTML-ENTITIES', 'UTF-8');
非常感谢您抽出时间进行评论或回答。
答案 1 :(得分: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);
}
}