[英]PHP encoding issues with quotes (“„) and other special characters
我在德国网站上遇到编码问题。 我有一个文本:
„Eröffnungsfeier FIS 高山滑雪 WM 2011“
当此文本保存到数据库中时,我得到了什么? 而不是那些引号。
我试过放置
header("Content-Type: text/html; charset=utf-8");
mb_internal_encoding("UTF-8");
setlocale(LC_ALL, 'de_DE.utf-8');
在文件的顶部没有成功。
当我用过
mysql_set_charset('utf8', $connect);
但是,当到达第一个字符(如 ö)后在上方插入文本时,文本的 rest 将被删除。
表字符集和排序规则是 UTF-8。脚本文件保存为 UTF-8,没有 BOM。
我不知道去哪里看。
1) 检查你的数据库模式 - 文本字段是否设置为存储 utf-8?
2) 听起来发布到此脚本的页面没有发送 UTF-8。它是否具有正确的Content-Type
header? echo urlencode($var)
显示什么? (这是一个很好的技巧,可以查看您获得的原始字节)
我所做的事情有所帮助。 特别是mysql_set_charset('utf8', $connect);
. 问题是另一个程序员 (utf8_decode) 留下了一些不需要的代码。 看起来他无法以其他方式处理 utf-8 编码。
我还发现mysql_set_charset('utf8', $connect);
如果您从一开始就与编码保持一致,那么实际上并不需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.