delphi for php 中文完全支持方法[转]


======================================================
注:本文源代码点此下载
======================================================

配置步骤:启动delphiforphp后:

tools—〉editor options—〉勾选use utf-8…………

设置php—〉default charset—〉utf-8

勾选set these values on php.ini

然后你就可以自由使用输入显示中文了。

注意,不要在网站目录上使用中文命名,据说这样会使软件速度变得很慢。

如果要配合mysql数据库的话:把mysql的编码改成utf-8就行了。

完整的中文支持方法:

1 要使用delphi for php的update1版,之前的版本虽然也能达到页面内容显示中文的目标,但这不是完全的中文支持。

有了delphi for php编程软件后,新增一个form页面,只要将form的encoding属性设为gb2312或utf-8,即可实现页面正常显示中文。

2 本论坛及网上其他地方对控件的中文支持有不同描述,本人经过整理,其实现步骤是:1、修改apache2的配置文件,让其应用utf-8字符集(注意同时修改http.conf和httpd.template.conf文件,以免被delphi for php启动时复原);2、设置delphi for php,让其应用utf-8字符集,同时也让php应用utf-8字符集;3、修改php配置文件,让其应用utf-8字符集(同时修改php.ini和 php.ini.template文件,原因同上),这部分的设置似乎在第2步已经完成了,当然用另一种方式设置一下也没关系啦。

至此,在delphi for php中将form的encoding设为utf-8,即可完全实现控件的中文支持。

到这一步后,数据库控件其实在代码层次已经支持中文了,但由于mysql数据库与php在字符集一致性等方面的原因,仍会显示乱码。

3 mysql 4以上的字符集支持(character set support)有两个方面:字符集(character set)和排序方式(collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。

因此需要将mysql和php的默认字符集都设为utf-8,如此设置以后,我们会发现一个问题:用delphi for php生成的php程序提交的中文数据,用phpmyadmin查看是乱码,但用原提交程序查看却一切正常;另一方面,用phpmyadmin输入的中文数据,用delphi for php生成的php程序查看是乱码,但用phpmyadmin查看却正常。

由此我们可以推断出:数据在传输及存储环节出现了字符集的不一致。

问题就出在这个connection连接层上!一般情况下,php连接mysql编码方式,如果没有显式的声明编码方式,都将使用latin1编码。一般的程序,都没有显式声明,所以,都是将utf8文本按latin1编码方式存在数据库,phpmyadmin再用utf8格式读取,肯定是乱码。如果php程序按正确的编码存入数据库,肯定是没有问题的。

因此需要显式声明如下变量:

set character_set_client=’utf8’

set character_set_connection=’utf8’

set character_set_results=’utf8’

上述声明与 set names ’utf8’等价,如此以来,解决问题的关键就变成了如何将 set names ’utf8’ 放入delphi for php程序并使其有效。

其实非常简单,在form中找到数据库控件,在其onafterconnect事件中加入一行:$this->控件名->execute(’set names utf8′);

一切ok!


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
使用视觉化RAD 整合开发环境与元件架构进行CodeGear 创新的 PHP开发    S COTTS VALLEY, Calif.–2007年2月20日–-CodeGear,作为开发者工具领导者, 发布了Delphi for PHP, 这是一个基于元件的快速应用程式开发(RAD)IDE, 同时还发布VCL for PHP,这是一个开放原始程式码的可视元件库。 Delphi for PHPPHP的Web开发者带来了Delphi用户已经享受多年 的RAD生产力。 PHP是当今的最富盛名的动态Web语言,是10大程式设计语言之一。 Delphi for PHP使PHP能够更快且更轻松的开发丰富的资料库驱动的Web应 用程式,使其达到更高水准。    位于加拿大安大略省的一家 开发者工具公司-JomiTech的所有者 Jonath an Benedicto认为:“CodeGear开发工具是市场上最好的工具, Delphi for PHP也是如此。”Benedicto说道: “作为长期PHP的开发者, 我第一时间采用了Delphi for PHP作为我最喜爱的编辑器。VCL for PHP 具有我们所熟悉的Delphi设计,并提供了大量的面向RAD能力。如今, 我可以使用经整合的页面范本功能, 轻松地从实际网页逻辑代码中减弱GUI。Delphi for PHP真正实现了将PHP 开发引领到更高水准。”    CodeGear产品与策略部副总裁Michael Swi ndell说道:“在创建动态Web应用程式时, PHP开发者已经拥有原始程式码编辑和调试工具; 而PHP真正缺少的是快速开发工具和能够与现代工具相抗衡的元件架构, 比如Visual StudioR 和Delphi以及类似于ASP.NET 和VCL的架 构。”    Swindell说道: “Delphi for PHP提供了快速和视觉化创建强大的PHP应用程式的能力, 新的PHP元件以及打包现有PHP代码到可重复使用的视觉化元件所需要的特性和功能性 。Delphi for PHP通过无缝支持MySQLR, InterBaseR from CodeGear, 以及其他SQL资料库实现对所有这些的支持, 并通过开源VCL for PHP得以实现。MicrosoftR WindowsR RAD 开发者现在已经可以享受Delphi 和 C++BuilderR所提供的熟练性和易用性 ,可以迅速而自信地移入PHP开发。” Delphi for PHP所包含的重要特性: 适用于PHP的RAD环境 1. VCL for PHP – 基于开源PHP 5版本而开发的可视元件 库,拥有超过50个可延展和可复用的组件, 以及无缝AJAX整合 2. 与InterBase, MySQL, Oracle, Microsoft SQL Server以及其他常用资料库的开盒即用的资料库整合 3. 经整 合的PHP调试工具 4. 在Windows,Linux, Solaris 以及其他平台上的PHP应用程式的分发 5. 对各种应用程式的国际化支援 6. 使用 Data Explorer for InterBase和 MySQL, 拖拉资料库应用程式开发 7. Code editor with 使用Code Insight, Code Explorer,以及 Code Templates的代码编辑器, 使写入PHP代码更加轻松和快捷
使用视觉化RAD 整合开发环境与元件架构进行CodeGear 创新的 PHP开发    S COTTS VALLEY, Calif.–2007年2月20日–-CodeGear,作为开发者工具领导者, 发布了Delphi for PHP, 这是一个基于元件的快速应用程式开发(RAD)IDE, 同时还发布VCL for PHP,这是一个开放原始程式码的可视元件库。 Delphi for PHPPHP的Web开发者带来了Delphi用户已经享受多年 的RAD生产力。 PHP是当今的最富盛名的动态Web语言,是10大程式设计语言之一。 Delphi for PHP使PHP能够更快且更轻松的开发丰富的资料库驱动的Web应 用程式,使其达到更高水准。    位于加拿大安大略省的一家 开发者工具公司-JomiTech的所有者 Jonath an Benedicto认为:“CodeGear开发工具是市场上最好的工具, Delphi for PHP也是如此。”Benedicto说道: “作为长期PHP的开发者, 我第一时间采用了Delphi for PHP作为我最喜爱的编辑器。VCL for PHP 具有我们所熟悉的Delphi设计,并提供了大量的面向RAD能力。如今, 我可以使用经整合的页面范本功能, 轻松地从实际网页逻辑代码中减弱GUI。Delphi for PHP真正实现了将PHP 开发引领到更高水准。”    CodeGear产品与策略部副总裁Michael Swi ndell说道:“在创建动态Web应用程式时, PHP开发者已经拥有原始程式码编辑和调试工具; 而PHP真正缺少的是快速开发工具和能够与现代工具相抗衡的元件架构, 比如Visual StudioR 和Delphi以及类似于ASP.NET 和VCL的架 构。”    Swindell说道: “Delphi for PHP提供了快速和视觉化创建强大的PHP应用程式的能力, 新的PHP元件以及打包现有PHP代码到可重复使用的视觉化元件所需要的特性和功能性 。Delphi for PHP通过无缝支持MySQLR, InterBaseR from CodeGear, 以及其他SQL资料库实现对所有这些的支持, 并通过开源VCL for PHP得以实现。MicrosoftR WindowsR RAD 开发者现在已经可以享受Delphi 和 C++BuilderR所提供的熟练性和易用性 ,可以迅速而自信地移入PHP开发。” Delphi for PHP所包含的重要特性: 适用于PHP的RAD环境 1. VCL for PHP – 基于开源PHP 5版本而开发的可视元件 库,拥有超过50个可延展和可复用的组件, 以及无缝AJAX整合 2. 与InterBase, MySQL, Oracle, Microsoft SQL Server以及其他常用资料库的开盒即用的资料库整合 3. 经整 合的PHP调试工具 4. 在Windows,Linux, Solaris 以及其他平台上的PHP应用程式的分发 5. 对各种应用程式的国际化支援 6. 使用 Data Explorer for InterBase和 MySQL, 拖拉资料库应用程式开发 7. Code editor with 使用Code Insight, Code Explorer,以及 Code Templates的代码编辑器, 使写入PHP代码更加轻松和快捷
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值