字符编码问题

时间:2009-12-17 10:28:34

标签: php mysql utf-8 character-encoding

我知道这听起来真的很傻但是我应该使用什么字符编码来制作UTF-8中的这种东西

â��â�¥Ã ¼à �à ½à ±à ¼Ã¼Â

该网站是英文的。这是用户生成的内容,存储在数据库中为utf_general_ci并显示在屏幕上。我只是想正确显示它。我该怎么办?

好的,这就是原始文本的内容

我αalivisvisłєłiкєαiя--- 我αмαsiмρøяŧαиŧαsøxygєи--- 我是αi iŧЋєŧЋєŧЋємммммм 我αααłwαysŧЋєяєєøЋєłρøŧЋєяz--- 我在这里忙碌着ŧєєєєєє 我αмŧЋєøєєwЋøcαяєz--- 我łøvєŧøsєєøŧЋєяłαugЋiиg 我αмŧЋєøєєwЋøbøяяøwøŧЋєяzsøяяøw 我αøŧЋєøєєwЋøzиαugЋŧybuŧиicє 我αмłøsŧiимyŧЋøugЋŧs--- 我łøvєŧøŧαłк--- 我łøvєєøsЋαяє--- 我αмяєαdyŧøgøαиywЋєяє--- 我łøvєŧøƒłybuŧdøи'ŧЋαvєwiиgs- 我知道ŧøøøøЋЋŧЋєsкyłiмiŧs--- 我αмєviłbuŧиøŧdєvił--- 我єєvєяƒøłłøwαиyŧяєиd--- 我αмƒuиłøviиg--- suмŧiмєłøvєєøbєαłøиє--- 我łøvєŧøłivє---

5 个答案:

答案 0 :(得分:2)

使用UTF-8很好,但这里检查点很少。

如果您使用的是MySQL,请在 utf8_unicode_ci

中设置数据库/表格/字段排序规则

如果您使用的是php,请在查询前mysql_query('SET NAMES utf8');

并在HTML输出中使用

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

答案 1 :(得分:1)

选择显示字符集可能不仅仅是一个问题。不幸的是,该字符串有很多替换字符( ),这表明它已经经历了一个由于传入的编码未被理解而丢失字符的过程。甚至片段“�”可能是通过单字节编码查看的utf8中的替换字符。

要检查数据库中信息的质量,您是否可以将select charset(colname), hex(left(colname, 20))的输出附加到问题中?

答案 2 :(得分:0)

保持UTF-8。

答案 3 :(得分:0)

您网站上的用户可以输入非UTF-8中的字符,例如big-5或JIS。这是一个问题:您需要强制执行它们以UTF8进入,或者以某种方式检测它们使用的字符集,然后将其转换为UTF8。每个语言环境都有一个默认字符集 - 例如,如果用户告诉你他们应该有一个日语界面,那么他们可能会使用像JIS这样的东西,你可以在途中转换JIS-&gt; utf-8 ,然后utf-8到JIS出路。如果你不能转换,只要确保你在页面的元标记中写入utf-8指令(如果你的界面是HTML),并强制只有utf-8字符进入你的数据库。

答案 4 :(得分:0)

您可能希望使用以下转换函数进行utf处理:

utf8_decode
utf8_encode
iconv