我正在使用php中的多语言应用程序.
一切都很好,直到最近才被要求支持中文字符.我用来支持UTF-8字符的操作如下:
所有数据库表现在都是UTF-8
HTML模板包含标记 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
控制器发出一个标题,指定用于http响应的编码(utf-8)
一切都很好,直到我开始做一些字符串操作(substr和喜欢)
使用中文它将无法工作,因为中文表示为多字节,因此如果你执行一个正常的子字符串(substr),它将在分配的一个字节的中间大量剪切一个"字母",然后f*ck得到结果屏幕.
我通过在引导程序中添加它来解决所有问题
mb_internal_encoding("UTF-8");
并更换所有的strlen,substr,strstr与他们mb_同行.
在php中完全支持UTF-8还需要做些什么?
我'继承了'一个使用Spring注释来管理Hibernate的事务/会话的项目.或者至少它意味着.目前,Hibernate会话永远不会被刷新(它们被设置为FLUSH_MODE_NEVER),并且需要手动刷新DAO以便将任何数据写入数据库.
此外,所有DTO对象都驻留在hibernate的内存中,最终导致OutOfMemory错误.
我相信我需要告诉Spring/Hibernate关闭会话或提交事务.在我的控制器类中,我有一个用于处理请求的带注释的方法:
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
...
...
}
Run Code Online (Sandbox Code Playgroud)
在applicationContetxt.xml文件中,我相信我设置了hibernate事务管理器并告诉spring使用注释:
<!-- hibernate3 transaction manager -->
<bean id="transactionManagerLocal" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="dataSource" ref="${local.data.source}" />
<property name="sessionFactory" ref="localSessionFactory" />
</bean>
<!-- Demarcate using @Transactional annotation -->
<tx:annotation-driven transaction-manager="transactionManagerLocal" order="200" />
Run Code Online (Sandbox Code Playgroud)
我不仅非常确定配置是错误的,因为数据没有写入数据库而没有手动调用每个DAO上的flush,从日志文件我们可以看到事务管理器已经刷新并且会话关闭被禁用:
INFO [http-8080-2] TransactionFactoryFactory - Transaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory
INFO [http-8080-2] TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
INFO [http-8080-2] SettingsFactory …Run Code Online (Sandbox Code Playgroud) 我写了一个工具来记笔记,从网页抓取图像.它使用javascript书签将自身加载为当前窗口中的iFrame:
javascript:(function(){ _my_script=document.createElement('SCRIPT'); _my_script.type='text/javascript'; _my_script.src='http://basereality.test/js/bookmarklet.js?rand='+(Math.random()); document.getElementsByTagName('head')[0].appendChild(_my_script); })();
Run Code Online (Sandbox Code Playgroud)
我希望能够在用户单击关闭按钮时从父窗口中删除iFrame来关闭该工具.
这样做最简单的方法是什么 - 是否有可能在自身内关闭iFrame?
我尝试过使用跨域邮件发布.我有从父窗口到子iFrame的跨域发布工作,但是从iFrame到父窗口不起作用.
到目前为止我的代码(可能包含问题)如下.
在父窗口中通过动态加载的Javascript:
function addiFrame(domain){
var iframe_url = "http://" + domain + "/bookmarklet";
var div = document.createElement("div");
div.id = bookmarkletID;
var str = "";
iframe_url += "?description=" + encodeURIComponent(document.title);
iframe_url += "&URL=" + encodeURIComponent(document.URL);
str += "<div>";
str += "<iframe frameborder='0' class='toolPanelPopup dragTarget' style='z-index: 1000' name='bookmarklet_iframe' id='bookmarklet_iframe' src='" + iframe_url + "' width='550px' height='255px' style='textalign:right; backgroundColor: white;' />";
str += "</div>";
div.innerHTML = str;
document.body.insertBefore(div, document.body.firstChild);
}
function jQueryLoadedCallback(){ …Run Code Online (Sandbox Code Playgroud) 我有以下内容 composer.json
{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"zf2"
],
"homepage": "http://framework.zend.com/",
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "2.2.*",
"doctrine/doctrine-orm-module": "*",
"bjyoungblood/bjy-authorize": "1.2.*",
"zf-commons/zfc-user": "dev-master",
"zendframework/zend-developer-tools": "*",
"zendframework/zftool": "dev-master",
"swiftmailer/swiftmailer" : "*",
"mwillbanks/zfc-twitter-bootstrap": "*"
}
}
Run Code Online (Sandbox Code Playgroud)
添加require后zf-commons/zfc-user-doctrine-orm,Composer无法执行命令,composer update给出大错误消息:
composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for …Run Code Online (Sandbox Code Playgroud) annotations ×1
composer-php ×1
cross-domain ×1
doctrine-orm ×1
hibernate ×1
iconv ×1
iframe ×1
javascript ×1
php ×1
session ×1
spring ×1
utf-8 ×1
zfcuser ×1