Add*_*dev 5 html php utf-8 character-encoding yii
我在yii中遇到char编码问题.如果我创建一个新的webapp:
./Yii-framework/framework/yiic webapp MyTest
Run Code Online (Sandbox Code Playgroud)
然后转到/protected/views/layouts/main.php并将页脚更改为带有utf8字符的文本,例如
<div id="footer">
Cópyrîgth <br />
</div>
Run Code Online (Sandbox Code Playgroud)
刷新页面,一切正常.太好了!;)
然后我尝试使用用户名中的utf8字符登录,例如ádmin,它崩溃说:
Error 500
htmlspecialchars(): Invalid multibyte sequence in argument
Run Code Online (Sandbox Code Playgroud)
然后我去了/protected/config/main.php并在开头添加了这一行:
header('Content-Type: text/html; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)
再次重试相同的登录它可以工作(不会崩溃),但现在页脚被破坏并显示:
C?pyr?ght
Run Code Online (Sandbox Code Playgroud)
我已经尝试了其他组合,如"在yii中的Unicode"文章中所解释的那样,但它们都没有让两件事同时工作.
解决这个问题的任何想法?
注意:我无法更改为php.ini文件.
我还尝试了.htaccess文件中的AddDefaultCharset UTF-8选项并将其放在/ MyTest /的文件夹中,是文章中引用的正确文件夹:您的DocumentRoot?
谢谢
我对yii并不熟悉,但是,如果要将文字unicode字符粘贴到文件中,则需要确保文本编辑器使用unicode编码保存文件,例如utf8.尝试utf8,没有BOM.
我的经验是,当您更改编码设置并且其中已经编码了字符时,文本编辑器会表现得很奇怪.重新开始使用新文件,更改编码,然后粘贴字符.