繁体   English   中英

PHP 引号(“„)和其他特殊字符的编码问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM