RADPHP完美支持中文的方法
网站上有好多解决RADPHP显示中文的方法,但都是不解决根本问题的方法,RADPHP其实是可以完美的支持中文的,下面是具体方法:
真正解决radphp中文显示问题的方法
radphp是一个很不错的PHP编程器,它的拖拽建立程序的方法非常容易上手,
可是它的测试版对在ANSI编码时的中文无法正常显示,网上有好多文章都说
需要改成UTF8代码才可以显示中文,但是我不这么认为,进过测试,跟踪代码
发现原来是rpcl文件中的类库文件的代码有误,不知道是不是故意为之,因为
我们得到的都是试用版。下面是修正方法;
打开rpcl目录下classes.inc.php文件;找到第387行代码;
(即名为VCLDecodeUnicode的函数)
387行原来是这样的“if(!function_exists(‘mb_convert_encoding’))”
现在把判断条件中的!去掉,
变成“if(function_exists(‘mb_convert_encoding’))”
它的原意是如果php版本中存在’mb_convert_encoding’函数,
则不执行下面的代码,立刻跳转出该函数,
但是加了!的意思就完全反了,所以怎么都不会正确显示中文了。
所以 VCLDecodeUnicode函数应该改成下面这样。
function VCLDecodeUnicode($orgstr)
{
if(function_exists(‘mb_convert_encoding’))
{
return $orgstr;
}
$pattern = ‘/([0-9]+);/’;
preg_match_all($pattern, $orgstr, $matches);
$size = count($matches[0]);
if( $size {
return $orgstr;
}
$rep_tbl = array();
for($i = 0; $i yyyyy
$utf8_str = ”;
if( $dec_val >= 0×0001 && $dec_val 0x07FF )
{
$utf8_str .= chr(0xE0 | (($dec_val >> 12) & 0x0F));
$utf8_str .= chr(0×80 | (($dec_val >> 6) & 0x3F));
$utf8_str .= chr(0×80 | (($dec_val >> 0) & 0x3F));
}
else
{
$utf8_str .= chr(0xC0 | (($dec_val >> 6) & 0x1F));
$utf8_str .= chr(0×80 | (($dec_val >> 0) & 0x3F));
}
}
$rep_tbl[$matches[0][$i]] = $utf8_str;
}
$nwestr = strtr($orgstr, $rep_tbl);
$internal_str = mb_convert_encoding($nwestr, mb_internal_encoding(), ‘UTF-8′);
return $internal_str;
}
这样随便用什么编码都可以正确显示了。
回复讨论(解决方案)
谢谢分享,不过这里使用RADPHP的可能不多,是的,这个东西对简体中文的支持的确有问题。
啥时候能做出更好的呢............
后来经过研究,其实radphp中文已经很好的支持了,只是通过mb_internal_encoding()函数来判别是什么编码,然而GBK和GB2312都是ANSI编码,ANSI编码缺省认为是ISO-8859-1编码,所以只在rpcl.inc.php文件中加入如下代码就可以确保ANSI编码是中文的正确显示了。
===========================================================================
//如果缺省编码为ISO-8859-1时,则设置为GBK编码
if (mb_internal_encoding() == "ISO-8859-1"){mb_internal_encoding("GBK");}
===========================================================================
classes.inc.php文件并没有错,不用改的。
官方解决方案!
http://docwiki.embarcadero.com/RadPHP/en/UTF-8_Setup
官方解决方案!已经测试,确实可行!
http://docwiki.embarcadero.com/RadPHP/en/UTF-8_Setup
用官方的解决方案编码方式必须是UTF-8,用GBK编码是不行的
楼主强大!!!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

番茄小说是一款非常热门的小说阅读软件,我们在番茄小说中经常会有新的小说和漫画可以去阅读,每一本小说和漫画都很有意思,很多小伙伴也想着要去写小说来赚取赚取零花钱,在把自己想要写的小说内容编辑成文字,那么我们要怎么样在这里面去写小说呢?小伙伴们都不知道,那就让我们一起到本站本站中花点时间来看写小说的方法介绍吧。分享番茄小说写小说方法教程 1、首先在手机上打开番茄免费小说app,点击个人中心——作家中心 2、跳转到番茄作家助手页面——点击创建新书在小说的结

而后悔莫及、人们常常会因为一些原因不小心将某些联系人删除、微信作为一款广泛使用的社交软件。帮助用户解决这一问题,本文将介绍如何通过简单的方法找回被删除的联系人。1.了解微信联系人删除机制这为我们找回被删除的联系人提供了可能性、微信中的联系人删除机制是将其从通讯录中移除,但并未完全删除。2.使用微信内置“通讯录恢复”功能微信提供了“通讯录恢复”节省时间和精力,用户可以通过该功能快速找回之前被删除的联系人,功能。3.进入微信设置页面点击右下角,打开微信应用“我”再点击右上角设置图标、进入设置页面,,

使命召唤战区作为全新上线的一款手游,有很多的玩家都非常的好奇要怎么样才能够将这款游戏的语言设置为中文,其实非常的简单,玩家只需要下载中文的语言包,随后进行使用就可以进行修改了,详细的内容可以在这篇中文设置方法介绍之中进行了解,让我们一起来看看吧。使命召唤战区手游怎么设置中文1、首先进入游戏,点击界面右上角的设置图标。2、在出现的菜单栏中,找到【Download】这个选项并且点击。3、在这个页面中选择【SIMPLIFIEDCHINESE】(简体中文),就可以对简体中文的安装包进行下载了。4、回到设

在当今社会,手机已经成为我们生活中不可或缺的一部分。而微信作为我们日常沟通、工作、生活的重要工具,更是经常被使用。然而,在处理不同事务时可能需要分开两个微信账号,这就要求手机能够支持同时登录两个微信账号。华为手机作为国内知名品牌,很多人使用,那么华为手机开启两个微信账号的方法是怎样的呢?下面就来揭秘一下这个方法。首先,要在华为手机上同时使用两个微信账号,最简

手机游戏成为了人们生活中不可或缺的一部分,随着科技的发展。它以其可爱的龙蛋形象和有趣的孵化过程吸引了众多玩家的关注,而其中一款备受瞩目的游戏就是手机版龙蛋。帮助玩家们在游戏中更好地培养和成长自己的小龙,本文将向大家介绍手机版龙蛋的孵化方法。1.选择合适的龙蛋种类玩家需要仔细选择自己喜欢并且适合自己的龙蛋种类,根据游戏中提供的不同种类的龙蛋属性和能力。2.提升孵化机的等级玩家需要通过完成任务和收集道具来提升孵化机的等级,孵化机的等级决定了孵化速度和孵化成功率。3.收集孵化所需的资源玩家需要在游戏中

VSCode设置中文:完全指南在软件开发中,VisualStudioCode(简称VSCode)是一个常用的集成开发环境。对于使用中文的开发者来说,将VSCode设置为中文界面可以提升工作效率。本文将为大家提供一个完整的指南,详细介绍如何将VSCode设置为中文界面,并提供具体的代码示例。第一步:下载安装语言包在打开VSCode后,点击左

字体大小的设置成为了一项重要的个性化需求,随着手机成为人们日常生活的重要工具。以满足不同用户的需求、本文将介绍如何通过简单的操作,提升手机使用体验,调整手机字体大小。为什么需要调整手机字体大小-调整字体大小可以使文字更清晰易读-适合不同年龄段用户的阅读需求-方便视力不佳的用户使用手机系统自带字体大小设置功能-如何进入系统设置界面-在设置界面中找到并进入"显示"选项-找到"字体大小"选项并进行调整第三方应用调整字体大小-下载并安装支持字体大小调整的应用程序-打开应用程序并进入相关设置界面-根据个人

Go语言方法与函数的区别在于与结构体的关联性:方法与结构体关联,用于操作结构体数据或方法;函数独立于类型,用于执行通用操作。
