目录
回复讨论(解决方案)
首页 后端开发 php教程 RADPHP完美支持中文的方法

RADPHP完美支持中文的方法

Jun 23, 2016 pm 01:51 PM
中文 完美 支持 方法

网站上有好多解决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编码是不行的

楼主强大!!!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么在番茄免费小说app中写小说 分享番茄小说写小说方法教程 怎么在番茄免费小说app中写小说 分享番茄小说写小说方法教程 Mar 28, 2024 pm 12:50 PM

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

微信删除的人如何找回(简单教程告诉你如何恢复被删除的联系人) 微信删除的人如何找回(简单教程告诉你如何恢复被删除的联系人) May 01, 2024 pm 12:01 PM

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

使命召唤战区手游怎么设置中文 使命召唤战区手游怎么设置中文 Mar 22, 2024 am 08:41 AM

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

快速掌握:华为手机开启两个微信账号方法大揭秘! 快速掌握:华为手机开启两个微信账号方法大揭秘! Mar 23, 2024 am 10:42 AM

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

手机版龙蛋孵化方法大揭秘(一步一步教你如何成功孵化手机版龙蛋) 手机版龙蛋孵化方法大揭秘(一步一步教你如何成功孵化手机版龙蛋) May 04, 2024 pm 06:01 PM

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

VSCode 设置中文:完全指南 VSCode 设置中文:完全指南 Mar 25, 2024 am 11:18 AM

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

手机字体大小设置方法(轻松调整手机字体大小) 手机字体大小设置方法(轻松调整手机字体大小) May 07, 2024 pm 03:34 PM

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

Go语言方法与函数的区别及应用场景解析 Go语言方法与函数的区别及应用场景解析 Apr 04, 2024 am 09:24 AM

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

See all articles