我在德国网站上遇到编码问题。 我有一个文字:
“EröffnungsfeierFISAlpine Ski 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);
但是,当在达到第一个字符之后插入上面的文字时,文本的其余部分会被删除。
表格字符集和校对是UTF-8。 脚本文件保存为UTF-8,无BOM。
我缺乏想法在哪里看。
答案 0 :(得分:1)
1)检查数据库的模式 - 是否设置了存储utf-8的文本字段?
2)听起来这个脚本发布的页面没有发送UTF-8。它是否有正确的Content-Type
标题? echo urlencode($var)
显示什么? (这是一个很好的黑客,可以看到你得到的原始字节)
答案 1 :(得分:0)
我所做的事情有所帮助。特别是mysql_set_charset('utf8', $connect);
。
问题是另一个程序员(utf8_decode)留下了一些不需要的代码。
看起来他不能用其他方式处理utf-8编码。
我还发现,如果从一开始就与编码保持一致,就不需要mysql_set_charset('utf8', $connect);
。