函数返回值为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型时,且返回结果为中文时,得到的结果是乱码,这是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

使用支持对象/结构的泛型时如何返回空值/默认值? [复制]

php isset()与empty()的使用

PHP中检测一个变量是不是有设置的函数是啥

isset() 与 empty() 的区别

PHP isset()与empty()的区别

在excel中,if and公式的用法 ( 自己都要算晕了)