字符编码对我来说一直是个问题.当正确的使用时间时,我真的没有得到.
我现在使用的所有数据库都是使用utf8_general_ci设置的,因为这似乎是一个很好的"一般"开始.从那时起我在过去的五分钟里就知道它不区分大小写.这很有帮助.
但我的问题是何时使用utf8_encode
和utf8_decode
?据我现在所知,如果我从我网站上的表中输出一个表单,我需要utf8_encode()
在将其插入数据库之前输入该值.
然后,当我把它拉出来时,我需要utf8_decode它.是这样的吗?或者我错过了什么?
utf8_encode
并且_decode
是非常糟糕的错误.这些函数唯一能做的就是在UTF-8和ISO-8859-1编码之间进行转换.他们做同样的事情iconv($str, 'ISO-8859-1', 'UTF-8')
,并iconv($str, 'UTF-8', 'ISO-8859-1')
分别.没有其他魔法可以使用它们.
如果您从浏览器接收到UTF-8编码的字符串,并且您希望使用与utf8
字符集集的数据库连接将其作为UTF-8插入到数据库中,则此链中的任何位置都不会使用任何函数.你对这里转换编码不感兴趣,这应该是目标.
您可以使用任一功能的唯一时间是您需要在任何时候从UTF-8转换为ISO-8859-1或反之亦然,因为外部数据以此编码进行编码,或者外部系统需要此编码中的数据.但即便如此,我更喜欢明确使用iconv
or mb_convert_encoding
,因为它使得它更明显和明确地发生了什么.在这个时代,UTF-8应该是你在整个过程中使用的默认编码,所以对这种转换的需求应该很少.
看到:
Har*_*tel -3
基本上utf8_encode
是用于Encodes an ISO-8859-1 string to UTF-8
. 当您正在进行从一种语言到另一种语言的翻译时,您必须使用此功能来防止显示一些垃圾字符。
就像当您显示西班牙语字符时,有时脚本无法识别西班牙语字符,它会显示一些垃圾字符而不是西班牙语字符。
到时候就可以用了。
有关此内容的更多信息,请点击以下链接:
http://php.net/manual/en/function.utf8-encode.php
归档时间: |
|
查看次数: |
1540 次 |
最近记录: |