Php 更改HTML错误消息的编码
我维护一个使用ISO-8859-15的遗留PHP项目。当我遇到任何类型的PHP错误时,只要错误消息包含一个非ASCII字符,就根本不会显示错误消息,这很可能是因为现代PHP到处都假设UTF-8。这在大多数自定义异常中都会发生,因为错误消息是西班牙语的: 是否有一个PHP指令来控制这一点Php 更改HTML错误消息的编码,php,php-5.5,Php,Php 5.5,我维护一个使用ISO-8859-15的遗留PHP项目。当我遇到任何类型的PHP错误时,只要错误消息包含一个非ASCII字符,就根本不会显示错误消息,这很可能是因为现代PHP到处都假设UTF-8。这在大多数自定义异常中都会发生,因为错误消息是西班牙语的: 是否有一个PHP指令来控制这一点 到目前为止,我正在禁用HTML错误作为解决方法。我不需要任何类型的转换,因为所有内容都正确配置为使用ISO-8859-15文件、数据库、HTTP头。。。。我想说这是,但我仍然是5.5。与我最初的想法相反,内置错误
到目前为止,我正在禁用HTML错误作为解决方法。我不需要任何类型的转换,因为所有内容都正确配置为使用ISO-8859-15文件、数据库、HTTP头。。。。我想说这是,但我仍然是5.5。与我最初的想法相反,内置错误处理程序在编写HTML错误消息时似乎没有使用PHP/5.6.0中引入的,也没有使用输入编码或输出编码。因此,我们基本上只有两种选择: 如果你不想最终得到比原来更糟糕的东西,那么就使用一套简单的方法 禁用HTML错误:
if( version_compare(PHP_VERSION, '5.4.0', '>=') ){
ini_set('html_errors', false);
}
理想情况下,在任何项目上都应该注册自定义错误和异常处理程序。您不应该依赖内置的错误处理系统。纠正错误处理的不足,解决编码问题@NiettheDarkAbsol老实说,在Xdebug开发中记录或显示未捕获的异常和错误满足了当前的需求:尽管是遗留代码,但它们实际上很少。如果您在PHP5.5中,为什么要使用ISO-8859-15?UTF-8将解决您的所有问题。关于具体问题:也许浏览器没有识别出该编码中的页面?您是否发送了正确的标题???@BorislavSabev-1,因为它不是设计阶段的传入项目:它是一个已经存在的产品。拆除一座建筑物并不是为了修复一扇破碎的窗户。2当前的编码处理很好。相信我。