rin*_*t.6 6 php encoding utf-8 declare
编码
可以使用encoding指令为每个脚本指定脚本的编码.
Example#3声明脚本的编码.
Run Code Online (Sandbox Code Playgroud)<?php declare(encoding='ISO-8859-1'); // code here ?>
这究竟是做什么的?脚本的行为如何受此指令的影响?
这与设置指令mbstring.internal_encoding
(PHP 5.6之前)和default_charset
(从PHP 5.6开始)或使用mb_internal_encoding()
函数有什么不同?
(我同时使用PHP 5.3和5.5.目前我的文件以UTF-8保存,我Content-Type: text/html; charset=utf-8
在提供HTML文件时发送标题.)
PHP 5.6 附带了一个新的默认字符集指令UTF-8
,设置为 ,在某些情况下,这可能是元标记中作为 latin1 提供的页面的问题,您可以通过ini_set('default_charset', 'iso-8859-1')
在脚本中调用来覆盖该指令。
为此,请在您想要将这段代码编码为 latin1 的每个 php 文件中放在脚本的开头:
例子:index.php
<?php
$server_root = realpath($_SERVER["DOCUMENT_ROOT"]);
$config_serv = "$server_root/php/config.php";
include("$config_serv");
?>
Run Code Online (Sandbox Code Playgroud)
然后在你的根网站下创建一个文件夹“php”并将这段代码放入config.php
:
例子:config.php
<?php
##########################################################################
# Server Directive - Override default_charset utf-8 to latin1 in php.ini #
##########################################################################
@ini_set('default_charset', 'ISO-8859-1');
?>
Run Code Online (Sandbox Code Playgroud)
如果您的 php.ini 设置为 latin1 ( ISO-8859-1
) 并且您想要提供 utf-8 (unicode) 页面,您可以使用相同的方式强制编码,但使用 utf-8 代替 iso-8859-1。看那个:
例子:config.php
<?php
##########################################################################
# Server Directive - Override default_charset latin1 to utf-8 in php.ini #
##########################################################################
@ini_set('default_charset', 'UTF-8');
?>
Run Code Online (Sandbox Code Playgroud)
我希望你觉得我的回答有用,我就是这样解决我的问题的!
归档时间: |
|
查看次数: |
2483 次 |
最近记录: |