在我的 php 应用程序中,我从一开始就使用 utf8 设置所有内容以避免将来出现问题。我设置了我的数据库:
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'aquitex',
'prefix' => '',
'encoding' => 'utf8',
);
public $test = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'aquitex',
'prefix' => '',
'encoding' => 'utf8',
);
}
文件 core.php:
Configure::write('App.encoding', 'UTF-8');
以及视图的默认布局:
<?php echo $this->Html->charset(); ?>
但是,我在表单标签等某些元素中仍然存在问题。
在我的 index.ctp 文件中,这一行:
echo $this->Html->link("Segurança", array('controller' => 'Posts','action'=> 'add'), array( 'class' => 'button'));
完美运行,“ç”字符没有问题。
但在形式上,像这样:
echo $this->Form->create('Post');
echo $this->Form->input('Nome Produto');
echo $this->Form->input(utf8_encode("Código Produto"));
echo $this->Form->input("Versão");
echo $this->Form->input('Data');
//echo $this->Form->input('body', array('rows' => '3'));
echo $this->Form->end('Criar Ficha');
我无法正确显示表单标签上的“ó”或“ç”字符。如您所见,我什至在其中一个中尝试了utf8encode()。
有什么提示吗?谢谢!