函数返回值为String型时,且返回结果为中文时,得到的结果是乱码,这是怎么回事?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数返回值为String型时,且返回结果为中文时,得到的结果是乱码,这是怎么回事?相关的知识,希望对你有一定的参考价值。
我一直用NETBEANS写JAVA代码,最近写了一个类,类中用getName()返回名字。当给name赋值为中文时(比如:高数,语文等),最后在main中得到的结果是乱码,如果输入英文或数字就没问题,请解释一下。
我用过这段代码改过,但行不通:
String str= "中文参数 ";
try
str = new String(str.getBytes( "gb2312 "), "GBK ") ;//对于每个获取到的String参数,都用这行代码转换一下
catch (Exception ex)
System.out.println("出错了!!!");
建议你下面这几种都在str.getBytes( "gb2312 "), "GBK ") 这里面试一下:
GBK,gb2312,UTF-8,ISO8859-1
一般常用的就是这几种。 参考技术A str = new String(str.getBytes( "iso-8859-1"), "GBK ") 参考技术B 1楼说的好,
PHP isset 函数作用
PHP isset 函数作用
isset函数是检测变量是否设置。
格式:bool isset ( mixed var [, mixed var [, ...]] )
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\\0")并不等同于 PHP 的 NULL 常数。
警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
<?php$var = \'\';if (isset($var)) {print "This var is set set so I will print.";}// 在后边的例子中,我们将使用 var_dump函数 输出 isset() 的返回值。$a = "test";$b = "anothertest";var_dump( isset($a) ); // TRUEvar_dump( isset ($a, $b) ); // TRUEunset ($a);var_dump( isset ($a) ); // FALSEvar_dump( isset ($a, $b) ); // FALSE$foo = NULL;var_dump( isset ($foo) ); // FALSE?>
<br> |
<?php
$a = array (\'test\' => 1, \'hello\' => NULL);
var_dump( isset ($a[\'test\') ); // TRUE
var_dump( isset ($a[\'foo\') ); // FALSE
var_dump( isset ($a[\'hello\') ); // FALSE
// \'hello\' 等于 NULL,所以被认为是未赋值的。
// 如果想检测 NULL 键值,可以试试下边的方法。
var_dump( array_key_exists(\'hello\', $a) ); // TRUE
?>
以上是关于函数返回值为String型时,且返回结果为中文时,得到的结果是乱码,这是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章