从这个链接http://wiki.postgresql.org/wiki/Todo:Collate和http://www.postgresql.org/docs/9.1/static/collation.html.这让我感到困惑.
他们说,utf-8
支持取决于操作系统的能力,它的每一个之间输精管LC_COLLATE
和LC_CTYPE
选项.
当我使用创建数据库时pdAdmin III
,有3个选项,C, Posix and English_United States.1252
.有什么不同C, Posix and English_United States.1252
?
我希望使用所有支持的语言,也就是说unicode utf-8
,这似乎不是一个选项.
我必须为选择的值LC_COLLATE
,并LC_CTYPE
用于创建支持数据库utf-8
中PostgreSQL 9
?
我想创建一个包含cleanArray,split_char,split_word等方法的帮助器类.
它自己的助手类将与许多类一起使用.例如:
Class A will user Helper, Class B, Class C, D, E also user Helper Class
Run Code Online (Sandbox Code Playgroud)
在PHP中编写和使用helper类的最佳方法是什么?
我所知道的是OOP的基本知识,在每个使用Helper类的类中都必须创建一个辅助对象.
$helper = new Helper();
Run Code Online (Sandbox Code Playgroud)
正确或可能是某人可以给我最好的方法.
我还将创建可以使用A,B,C等类的XXX类.
更新: - >修复我在split_word方法中的错误:D
基于Saul,Aram Kocharyan和alex回答,我修改了我的代码,但它不起作用,我不知道为什么.
<?php
class Helper {
static function split_word($text) {
$array = mb_split("\s", preg_replace( "/[^\p{L}|\p{Zs}]/u", " ", $text ));
return $this->clean_array($array);
}
static function split_char($text) {
return preg_split('/(?<!^)(?!$)/u', mb_strtolower(preg_replace( "/[^\p{L}]/u", "", $text )));
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我在其他班级使用
<?php
include "Helper.php";
class LanguageDetection {
public function detectLanguage($text) {
$arrayOfChar = Helper::split_char($text);
$words = …
Run Code Online (Sandbox Code Playgroud) 我对Unicode中的UTF感到困惑.
有UTF-8,UTF-16和UTF-32.
我的问题是:
什么UTF支持所有Unicode块?
什么是最好的UTF(性能,大小等),为什么?
这三个UTF有什么不同?
什么是字节顺序和字节顺序标记(BOM)?
谢谢
我有一个简单的SQL语法插入表.我正在使用Postgresql 8.4并且已经将数据库编码设置为UTF8,并将POSIX设置为Collation和Character类型.
如果我在pgadmin3下运行它,查询就没问题,但如果我在PHP中执行,则会出错.
"Internal Server Error: SQLSTATE[22021]:
Character not in repertoire: 7 ERROR:
invalid byte sequence for encoding \"UTF8\": 0xd85b\nHINT:
This error can also happen if the byte sequence does not match the encoding expected by the server,
which is controlled by \"client_encoding\"
Run Code Online (Sandbox Code Playgroud)
所以我试图从PHP(PDO)设置NAMES和client_encoding,但仍然有同样的问题
$instance->exec("SET client_encoding = 'UTF8';");
$instance->exec("SET NAMES 'UTF8';");
Run Code Online (Sandbox Code Playgroud)
pg_set_client_encoding($link, "UNICODE");
如果我使用本机postgresql驱动程序pg_pconnect
,我的工作,但目前我正在使用PDO作为驱动程序.
我也已经设定好了 mb_internal_encoding('UTF-8');
有没有其他方法可以解决这个问题?
此错误仅在我尝试插入非阿拉伯语或日语单词的非ascii单词时出现
我想创建一个安全的REST API
例如,如果我看到谷歌API,则基于域生成API KEY.
从这里我有两个问题:
首先,使用单向散列是真/右吗?如果是,如果有人知道散列方法和域,那么他可以生成api密钥并使用它.以及我可以使用的哈希方法/功能?
第二个是,如果客户端如何制作桌面应用程序,他如何生成从桌面访问的API KEY,现在是一个拥有域URL的网站.我的意思是,他们可以生成api密钥,因为没有网址.
有什么好方法吗?,如何创建安全的api以及如何创建api密钥?
顺便说一句,我正在使用PHP
此链接http://www.sil.org/iso639-3/download.asp和http://en.wikipedia.org/wiki/ISO_639:a中列出了 7707 种语言。
而且 Unicode 支持语言的书写系统,但我想知道语言和 unicode 范围之间的映射。
Unicode 范围在此链接中列出:http://www.unicode.org/roadmaps/bmp/
unicode 范围的示例之一:“start”=>“0x0900”、“end”=>“0x097F”、“block_name”=>“Devanagari”(什么语言使用此 unicode 范围?)
有什么文档吗?我需要 unicode 范围支持的完整语言映射。
我正在构建一个REST API.实际上我理解了共同的指导和规则.
但我有DELETE方法的问题,因为我需要在请求中通过正文发送数据,DELETE方法将忽略正文.
如果你问什么数据让我通过DELETE方法将它发送到身体,是一个'url'和一些其他参数.当然'url'在数据库中有id,所以我可以使用DELETE没问题,比如DELETE https://api.example.com/content/url:url_id
.但是,通过id,我选择传递它自己和其他一些参数的URL.我的业务逻辑和要求迫使我传递url而不是DELETE方法中的id.
所以在阅读之后,我发现还有一些代理阻塞DELETE和PUT方法.并且HTML表单仅支持GET和POST方法.
我开始思考,更好地只使用GET
和POST
在我的REST API.所以我可以使用POST进行删除和对象或资源,如下所示:
POST /content/delete/url
Body :
url : xxxx
param1 : xxxx
param2 : xxx
Run Code Online (Sandbox Code Playgroud)
但是在"REST API设计规则手册,O'reilly"中,第18页说
"应该使用HTTP请求方法来指示执行哪个CRUD功能"
以下反模式举例说明了不该做的事情:
Run Code Online (Sandbox Code Playgroud)GET /deleteUser?id=1234 GET /deleteUser/1234 POST /users/1234/delete
在再次搜索和阅读之后,我找到了一些解决方案
运用 X-HTTP-Method-Override
使用api方法名称,如闪烁(api.flickr.com/services/rest/?method=flickr.collections.getInfo)
和mailchimp(api.mailchimp.com/1.3/?method=campaignDelete)
我想我喜欢解决方案1,使用'X-HTTP-Method-Override'.你怎么看?
谷歌似乎使用X-HTTP-Method-Override,对此https://developers.google.com/gdata/docs/2.0/basics
Flicker和Mailchimp使用方法名称,如解决方案2中所示
我有下面的句子
"my hooorrrr sssee strongggg"
Run Code Online (Sandbox Code Playgroud)
我的正则表达式是:
"(h+o+r+s+e+) s+t+r+o+n+g+"
Run Code Online (Sandbox Code Playgroud)
当句子是:它只有效/匹配:
"my hooorrrrsssee strongggg"
Run Code Online (Sandbox Code Playgroud)
任何身体都可以帮忙?
无论文字之间的空间如何,我想要匹配.
example : "my h ooo rrr rss se eee stttro ngggg"
Run Code Online (Sandbox Code Playgroud)
另一个问题是当某个字符被数字替换时,如下:
"my h 0o0 rrr rs555sss se ee333 stttr0 ngggg"
a replaced by 4
b replaced by 8
s replaced by 5
i replaced by 1
o replaced by 0
Run Code Online (Sandbox Code Playgroud)
任何身体都可以帮忙?
谢谢
我正在使用preg_match_all非常长的模式.
运行代码时,我收到此错误:
警告:preg_match_all():编译失败:正则表达式在偏移量707830处太大
搜索后,我得到了解决,所以我应该增加的价值pcre.backtrack_limit
,并pcre.recursion_limit
在php.ini
但是在我增加值并重启我的apache之后,它仍然遇到了同样的问题.我的PHP版本是5.3.8
我正在尝试使用paypal作为我网站的付款.
我的网站只出售虚拟货币,如在线游戏中的"钻石".
所以在阅读后我开始使用Express Checkout for Digital Goods,是吗?或者我必须采用其他付款方式?
那我的问题是在使用Express Checkout for Digital Goods时,如何传递自定义变量?
假设我想从我的数据库向paypal api支付user_id,diamond_id和其他一些变量.似乎paypal不支持自定义变量来传递api调用.我想在用户完成付款后,然后Paypal通过我的服务器通过user_id和我通过的其他变量完成付款,这样我就可以轻松了解详细信息.
搜索后我找到了一些解决方案,
哪种解决方案是对的?有什么解决方案吗?以及如何确保付款确认,我的意思是,如果有人知道并破解我的返回.
谢谢
我正在手动安装PHP,Apache和PostgreSQL
PHP和Apache现在已连接,但PostgreSQL未连接到PHP.
我使用phpinfo()进行测试;
我也在php.ini中配置如下:
extension=php_pgsql.dll
extension=php_pdo_pgsql.dll
Run Code Online (Sandbox Code Playgroud)
但为什么它不起作用.
谢谢
我在PostgreSQL中有一个存储过程
CREATE OR REPLACE FUNCTION show_senti_lang_setting(IN _senti_id bigint)
RETURNS TABLE(lang_code character, native_name character varying, is_active boolean) AS
$BODY$
BEGIN
RETURN QUERY
SELECT
l.lang_code,
l.native_name,
(CASE WHEN s.senti_id is NULL THEN FALSE
ELSE TRUE
END) is_active
FROM
language l
LEFT JOIN senti_lang s
ON s.lang_code=l.lang_code
AND s.senti_id=_senti_id;
END;
$BODY$
LANGUAGE plpgsql VOLATILE STRICT;
Run Code Online (Sandbox Code Playgroud)
错误是:
ERROR: syntax error at or near "$1"
LINE 1: ...HEN s.senti_id is NULL THEN FALSE ELSE TRUE END) $1 FROM l...
^
QUERY: SELECT l.lang_code, l.native_name, (CASE …
Run Code Online (Sandbox Code Playgroud) php ×8
postgresql ×4
api ×2
regex ×2
unicode ×2
api-design ×1
api-key ×1
cpu-word ×1
exists ×1
oop ×1
paypal ×1
paypal-ipn ×1
pdo ×1
plpgsql ×1
preg-match ×1
rest ×1
sql ×1
utf ×1
utf-8 ×1