[英]Charset is not working - Spanish characters
这真的让我发疯。 我正在建立一个西班牙语网站(意思是许多拉丁字符),并且正在使用Zend框架。
当我保存一个á
它会显示为á
。 我知道是字符集编码,但我不明白为什么。
我的头字符集是<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
我的数据库是utf8_general_ci
。 我已经将字符集更改为其他字符集,并且始终是相同的问题。
当我看到在我的数据库,内容被保存,是á
知道为什么会这样吗? 谢谢!
这是摆脱编码难题的方法:
utf8_unicode_ci
。 meta
标记: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
如果您有权访问MySQL文件配置my.cnf
只需添加以下行:
init-connect='SET NAMES utf8'
这告诉MySQL为每个连接以UTF-8返回结果。
如果您无法编辑my.cnf
但使用的是PDO,请按以下方式打开连接:
$pdo = new PDO($dsn, $usr, $pwd, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
如果您不使用PDO ... 开始使用它,还等什么呢? 同时,如果使用ext / MySQLi,则可以在每次连接后执行此操作:
$mysql->set_charset('utf8');
如果您使用普通的旧版ext / MySQL,则执行以下操作:
mysql_set_charset('utf8', $connection);
可以使用unicode
映射ASCII映射之外的字符á
和其他字符。
在使用UTF-8
字符集存储表中的数据时,字符已正确存储。
我建议你
运行查询SET NAMES UTF-8
。 这将在照顾ASCII映射之外的字符的情况下获取您的UTF-8
数据。
在输出数据时,请确保您正在强制/定向浏览器以使用UTF-8
字符集来打印数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.